繁体   English   中英

删除特定的adb shell命令以支持使用Appium

[英]Removing a specific adb shell command in favor of using Appium

我正在审查一些现有的基于Android应用程序的基于Appium的自动化,并且在某些地方,代码中直接有外壳程序调用了adb。 我怀疑作者是这样做的,因为他或她找不到与Appium进行等效操作的好方法。 这是adb命令:

adb shell am start -d https://<various_url_details_here>

当自动化执行时,它具有触发“打开方式”对话框的作用,以便用户可以点击各种选项,例如浏览器或应用程序。 有没有一种方法可以直接使用Appium执行此特定命令而无需直接执行Shell命令? 如果存在这种方式,这是个好主意吗?

使用AndroidDriver.get()函数:

private WebDriver driver;

@Before
public void setUp() throws Exception {
    DesiredCapabilities capabilities = new DesiredCapabilities();
    capabilities.setCapability(..., ...);
    //--------------------------------------------------------------//
    driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);
}

@Test
public void testcase_001() throws Exception{
    driver.get("https://<various_url_details_here>");  // Here is what you want
    WebDriverWait wait = new WebDriverWait(driver, 30);
    wait.until(ExpectedConditions.presenceOfElementLocated(By.id(...")));
    Thread.sleep(5000);
 }

@After
public void tearDown() throws Exception {
    driver.quit();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM