我想通过让Appium点击歌曲名称来播放一首歌。有没有一个代码可以让我通过使用TEXT字段来点击任何元素?我不能在这里使用资源ID字段,因为稍后会有多首歌曲。我尝试使用By.xpath("//android.widget.EditText[@text='"+song name+"']");
,但这不起作用。
答案 0 :(得分:1)
xpath中的类名错误。
根据我在uiautomatorviewer上看到的内容,应该是以下内容
setOnUserSelect {
PersonEditor(it).openModal()
}
答案 1 :(得分:1)
找到解决方案。我必须在我的测试中编写以下代码:
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, AutomationName.ANDROID_UIAUTOMATOR2);
现在我可以通过在XPath中编写歌曲名称来使用TEXT值,如下所示:
By.xpath("//*[@text='" + element + "']");
此处元素是UIAutomatiorViewer中显示的文本值。
答案 2 :(得分:0)
如果@bsk回答不起作用。这可能是因为新的换行......
你可以试试这个吗?
By.xpath("//android.widget.TextView[contains(@text, 'Ishq De Fanniyar (Female)')]");
使用@ resource-id也不是一个坏习惯......
By.xpath("//android.widget.TextView[@resource-id='com.xefyr.ridez:id/tv_song_title' and contains(@text, 'Ishq De Fanniyar (Female)')]");