【问题标题】:How to find div button (sencha button) in appium如何在appium中找到div按钮(煎茶按钮)
【发布时间】:2014-11-03 20:10:47
【问题描述】:

我正在使用 appium 来自动化 iOS 的 sencha 应用程序。应用程序具有 appium 检查器未检测到的 div 按钮。我已经尝试过不同的技术,如名称、类、CSS 选择器,但它根本不起作用。

谁能帮帮我。

【问题讨论】:

  • 请分享你目前尝试过的相关代码
  • 再次简要说明问题 - 我的应用程序的工具栏有一些按钮(仅图标)。虽然记录它既不识别工具栏也不记录按钮,但如果我们放置任何文本或文本按钮,则它被识别这是我按照名称手动检测的代码 - wd.findElement(By.name(“Logbutton”)).click() ; 按类 - wd.findElement(By.className(“.logclass”)).click();按 ID - wd.findElement(By.id(“logid”)).click(); 通过 CSS 选择器 - wd.findElement(By.cssSelector(".button-log-interaction-phone")).click();但以上都不起作用

标签: javascript jquery html sencha-touch appium


【解决方案1】:

按名称 - wd.findElement(By.name(“Logbutton”)).click();

按类别 - wd.findElement(By.className(“.logclass”)).click();

听起来这是一个 wd 类名,而不是 Sencha Touch 类名

按 ID - wd.findElement(By.id(“logid”)).click();

留给 Sencha 为 div 添加 ID。不是找到您的项目的真正好方法

通过 CSS 选择器 - wd.findElement(By.cssSelector(".button-log-interaction-phone")).click();

Sencha 在按钮上添加了“x 按钮”。 此外,您可以添加 cld:'logclass',但我认为这不是这样做的方法

解决方案

wd 只是一个命名空间。您需要的是 Ext 命名空间,从那里很容易:

var btn = Ext.Viewport.down('#myButton');
btn.fireEvent('tap', btn);

【讨论】:

    【解决方案2】:

    我可以通过以下方式点击或单击 div 或按钮等。

        Point p = button.getLocation();        
        p = p.moveBy((button.getSize().getWidth() / 2), (button.getSize().getHeight() / 2));
        WebElement button = driver.findElement(By.id("someid"));
        HashMap<String, Double> clicks = new HashMap<String, Double>();
        clicks.put("tapCount", 2d);
        clicks.put("touchCount", 1d);
        clicks.put("duration", 2d);
        clicks.put("x", new Double(p.getY()));
        clicks.put("y", new Double(p.getX()));
        ((JavascriptExecutor) driver).executeScript("mobile: tap", clicks);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-05
      • 2015-10-05
      相关资源
      最近更新 更多