我正在使用Appium DeskTop探索我的本机应用程序。对于输入字段,Appium Desktop在“按选择器查找窗口”中显示一个ID和一个XPath表达式。
当我将Sendkeys动作记录到此输入字段时,Appium DeskTop在记录器窗口中显示XPath表达式用于定位Element而不是Id。这不是我所期望的,我期望可以使用ID来定位元素。
我试图在我的Testprogram中使用Id来定位元素,这就是在明确等待元素的可见性时给出的信息,请参见下面的C#代码:
wait.Until(ExpectedConditions.ElementIsVisible(By.Id("companyname")));
IWebElement bedrijf = (IWebElement)driver.FindElementById("companyname");
bedrijf.Click();
bedrijf.SendKeys("IBM");
然后出现以下异常:
OpenQA.Selenium.NoSuchElementException
在这里显示Appium桌面是哪种ID?
答案 0 :(得分:0)
您需要使用resource-id。对于本机Android应用,通常将id属性用作 resource-id 。
IWebElement bedrijf = (IWebElement)driver.findElement(By.xpath("//android.widget.EditText[@resource-id='companyname']"))