2014-09-10 40 views
1

我正在使用appium自動執行適用於iOS的sencha應用程序。應用程序具有未被檢測員檢測到的div按鈕。我已經嘗試過不同的技術,如名稱,類,CSS選擇器,但它根本沒有工作。如何在appium中查找div按鈕(sencha按鈕)

任何人都可以幫助我。

+0

請分享你已經嘗試過相關的代碼到目前爲止 – 2014-09-10 08:48:50

+0

顯示你的努力 – 2014-09-10 08:54:23

+0

只是爲了再次介紹這個問題 - 我的應用程序,有一些按鈕(僅限圖標)工具欄。 在錄製其既不承認工具欄按鈕也沒有,但如果我們把任何文本或文本按鈕,然後其公認的 這裏是我遵循的代碼來手動檢測 通過名稱 - wd.findElement(By.name(「Logbutton「) ).click(); By Class - wd.findElement(By.className(「。logclass」))。click(); 通過ID - wd.findElement(By.id(「LOGID 「))點擊(); 通過CSS選擇器 - wd.findElement(By.cssSelector()」 按鈕登錄互動電話。「)。點擊(); 但以上都不起作用 – 2014-09-12 06:51:49

回答

0

通過名稱 - wd.findElement(By.name(「Logbutton「))點擊(); - 「logclass」

按類 wd.findElement(By.className( ))點擊();

聽起來這是一個WD類的名稱,而不是煎茶觸摸類名

通過ID - wd.findElement(By.id(「LOGID「))點擊();

交給煎茶到ID添加到的div不是一個真正的好辦法找到你的項目

通過CSS選擇器 - 「按鈕登錄互動電話」 wd.findElement(By.cssSelector() ).click();

Sencha將「x-button」添加到按鈕。 此外,您可以添加CLD:「logclass」,但我想這不會是做

解決方案

WD的方式只有一個命名空間。你需要的是內線的命名空間,並從那裏很容易:

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

我能夠做水龍頭或通過以下方式點擊一個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);