Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为appium android自动化编写xpath(获取定位器)?_Xpath_Automation_Appium_Appium Android_Appium Ios - Fatal编程技术网

如何为appium android自动化编写xpath(获取定位器)?

如何为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

我正在为android编写appium自动化应用程序,它没有正确的xpath、类名或ID

即使在图中,当我单击get Start(开始)时,您也可以清楚地检查这一点。它点击整个框架。我还附加了XML


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>