本文介紹了獲取io.appium.uiautomator2.common.exceptions.UiAutomator2Exception錯(cuò)誤的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我為Android電視流媒體應(yīng)用程序編寫自動(dòng)化程序,運(yùn)行測(cè)試時(shí)遇到問(wèn)題。當(dāng)我嘗試運(yùn)行測(cè)試時(shí),出現(xiàn)錯(cuò)誤:
Org.Openqa.selenium.WebDriverException:處理命令時(shí)出現(xiàn)未知的服務(wù)器端錯(cuò)誤。原始錯(cuò)誤:com.onoapps.ome.dev前綴為io.appium.uiautomator2.common.exceptions.UiAutomator2Exception:的命名空間尚未聲明。
有人知道問(wèn)題出在哪里嗎?
我正在使用:
小米MiBox。
Java
Appium
JUnit
這就是我想要做的。
public class RemoteControl extends AppiumBaseClass {
public RemoteControl(AppiumDriver driver) {
PageFactory.initElements(new AppiumFieldDecorator(driver), this);
}
@AndroidFindBy(xpath = "http://com.onoapps.some.dev:id/topRootId[@focusable='true']")
private MobileElement currentTab;
public String getCurrentTabName() {
MobileElement tabText = currentTab.findElement(By.id("com.onoapps.some.dev:id/topBarItemTextViewId"));
return tabText.getText();
}
}
public class SeriesScreenFlows extends BaseTestClass {
public void getSeriesTab(){
getCurrentTabName();
}
}
public class BaseTestClass extends AppiumBaseClass {
public WebDriverWait wait;
public Series_screen series_screen;
public RemoteControl remoteControl;
@Before
public void setUp() throws MalformedURLException {
AppiumController.instance.start();
series_screen = new Series_screen(driver());
remoteControl = new RemoteControl(driver());
}
}
推薦答案
當(dāng)您找到MobileElementID時(shí),您不需要包括應(yīng)用程序包,因此請(qǐng)更改此行:
MobileElement tabText = currentTab.findElement(By.id("com.onoapps.some.dev:id/topBarItemTextViewId"));
至此
MobileElement tabText = currentTab.findElement(By.id("topBarItemTextViewId"));
您的測(cè)試應(yīng)該會(huì)按預(yù)期開(kāi)始工作。
或者,如果要使用XPath
MobileElement tabText = currentTab.findElement(By.xpath("http://*[@id='com.onoapps.some.dev:id/topBarItemTextViewId']"));
詳細(xì)信息:AS – Run your existing Appium tests
這篇關(guān)于獲取io.appium.uiautomator2.common.exceptions.UiAutomator2Exception錯(cuò)誤的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,






