如何使用Appium在iOS中自动执行“共享”

在移动Web应用程序上工作时,曾想过自动共享链接或iOS中的图片。 假设您具有Appium的基础知识,让我们逐步完成如何通过Appium完成任务。

这是当您意识到需要找到元素定位器的另一种方法时。 这是识别和单击特定图标以实现目标所需遵循的步骤。

第一步是在浏览器屏幕上单击“共享”按钮,这是一个本地iOS元素,而不是Web元素。

您需要使用appium将应用上下文切换为NATIVE,然后找到元素“ Share”,否则,如果您在浏览器模式下打开了Safari,则最终将出现“ no_such_element_error”。

以下是将上下文切换到本机视图的代码段。

  //从webView切换到本机视图 
Set contextNames = driver.getContextHandles();
对于(String contextName:contextNames){
如果(contextName.contains(“ NATIVE”))
driver.context(contextName);
}

下一步,找到您实际想要共享的应用程序的标识符,并使用appium inspector检查布局,您将在其中找到布局的可访问性ID,如下所示,然后按照以下步骤操作。

现在,在同时打开模拟器的情况下,单击“开始检查跟随点”按钮,然后将焦点放在要使用其标识符的元素上。 您将获得布局可及性ID和标签名称,这足以使您到达确切的元素。

现在,只需开始用您喜欢的语言编写代码即可自动完成上述情况的测试。 这是用Java编写的代码片段。

  //找到并单击元素 
driver.findElementByAccessibilityId(“ Share”)。click();
driver.findElementByAccessibilityId(“ ActivityListView”)
.findElement(By.xpath(“ // * [包含(
@ label,'Reminders')]“))。click();

到这里,最终代码看起来像

  //从webView切换到本机视图 
Set contextNames = driver.getContextHandles();
对于(String contextName:contextNames){
如果(contextName.contains(“ NATIVE”))
driver.context(contextName);
}
//找到并单击元素
driver.findElementByAccessibilityId(“ Share”)。click();
driver.findElementByAccessibilityId(“ ActivityListView”)
.findElement(By.xpath(“ // * [包含(
@ label,'Reminders')]“))。click();

而已。 测试愉快!!!