如何为appium android自动化编写xpath(获取定位器)?
我正在为android编写appium自动化应用程序,它没有正确的xpath、类名或ID 即使在图中,当我单击get Start(开始)时,您也可以清楚地检查这一点。它点击整个框架。我还附加了XML如何为appium android自动化编写xpath(获取定位器)?,xpath,automation,appium,appium-android,appium-ios,Xpath,Automation,Appium,Appium Android,Appium Ios,我正在为android编写appium自动化应用程序,它没有正确的xpath、类名或ID 即使在图中,当我单击get Start(开始)时,您也可以清楚地检查这一点。它点击整个框架。我还附加了XML xpath是: 'hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.v
xpath是:
'hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.view'
可以简化为“hierarchy//android.view.view”
但是错误消息告诉您不要使用xPath,xPath是:
'hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.view'
可以简化为“hierarchy//android.view.view”
但是错误消息告诉您不要使用xPath您要单击的按钮位于
android.webkit.WebView
内。换句话说,测试中的应用程序是Android混合应用程序
要识别WebView元素,应首先切换到WebView
用于自动化混合应用程序的Java代码:
Set contextNames=driver.getContextHandles();
for(字符串contextName:contextName){
System.out.println(contextName);//打印出类似于本机应用程序、WEBVIEW应用程序的内容
}
//切换到webview
driver.context(contextNames.toArray()[1]);//将上下文设置为WEBVIEW_1
//做一些网络测试
字符串myText=driver.findelelement(By.cssSelector(“.green_按钮”))。单击();
//切换回本机应用程序
驱动程序上下文(“本机应用程序”);
//如果我们愿意,可以做更多的本地测试
driver.findElement(By.name(“hello”))。单击();
driver.quit();
有关详细信息,请访问官方文档您要单击的按钮位于android.webkit.WebView中。换句话说,测试中的应用程序是Android混合应用程序 要识别WebView元素,应首先切换到WebView 用于自动化混合应用程序的Java代码:
Set contextNames=driver.getContextHandles();
for(字符串contextName:contextName){
System.out.println(contextName);//打印出类似于本机应用程序、WEBVIEW应用程序的内容
}
//切换到webview
driver.context(contextNames.toArray()[1]);//将上下文设置为WEBVIEW_1
//做一些网络测试
字符串myText=driver.findelelement(By.cssSelector(“.green_按钮”))。单击();
//切换回本机应用程序
驱动程序上下文(“本机应用程序”);
//如果我们愿意,可以做更多的本地测试
driver.findElement(By.name(“hello”))。单击();
driver.quit();
有关更多详细信息,请访问官方文档。它看起来像一个混合应用程序。执行时必须切换到web视图上下文。 要在启动应用程序后查找元素,必须使用远程调试进行检查。
它看起来像一个混合应用程序。执行时必须切换到web视图上下文。 要在启动应用程序后查找元素,必须使用远程调试进行检查。
只有一个上下文。正在放映。这是本机应用程序。如何切换到WEBVIEW\u 1请检查此项。只有一个上下文。正在放映。这是本机应用程序。如何切换到WEBVIEW\u 1请检查此项。只有一个上下文。正在放映。这是本机应用程序。如何切换到WEBVIEW\u 1请检查此项。只有一个上下文。正在放映。这是本机应用程序。如何切换到WEBVIEW\u 1请检查此项。有具体问题吗?请看,。是否有具体问题?请看。
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy index="0" class="hierarchy" rotation="0" width="1080" height="2040">
<android.widget.FrameLayout index="0" package="com.novo.android.dev" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,2040]" displayed="true">
<android.widget.LinearLayout index="0" package="com.novo.android.dev" class="android.widget.LinearLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,0][1080,2040]" displayed="true">
<android.widget.FrameLayout index="0" package="com.novo.android.dev" class="android.widget.FrameLayout" text="" resource-id="android:id/content" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,60][1080,2040]" displayed="true">
<android.widget.FrameLayout index="0" package="com.novo.android.dev" class="android.widget.FrameLayout" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,60][1080,2040]" displayed="true">
<android.webkit.WebView index="0" package="com.novo.android.dev" class="android.webkit.WebView" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,60][1080,2040]" displayed="true">
<android.webkit.WebView index="0" package="com.novo.android.dev" class="android.webkit.WebView" text="Plaid - Securely Connect" checkable="false" checked="false" clickable="false" enabled="true" focusable="true" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,60][1080,2040]" displayed="true">
<android.view.View index="0" package="com.novo.android.dev" class="android.view.View" text="" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[0,60][1080,2040]" displayed="true" />
</android.webkit.WebView>
</android.webkit.WebView>
<android.widget.ProgressBar index="1" package="com.novo.android.dev" class="android.widget.ProgressBar" text="" resource-id="com.novo.android.dev:id/root_progress_bar" checkable="false" checked="false" clickable="false" enabled="true" focusable="false" focused="false" long-clickable="false" password="false" scrollable="false" selected="false" bounds="[480,990][600,1110]" displayed="true" />
</android.widget.FrameLayout>
</android.widget.FrameLayout>
</android.widget.LinearLayout>
</android.widget.FrameLayout>
</hierarchy>