Appium中常用查找控件的方法

曾经由于一些特殊的原因搁置了,有很多想法,并未去实现,准备花点时间把基于Appium的UI自动化项目重写一下,一方面是以前写的过于耦合,也有一些特殊的问题没有解决,如:不同手机有不同的权限弹框、失败重试机制、校验脚本失败是由于应用质量还是脚本本身原因等。学的多不如学的精,意义不外如是也~
这是以前整理的Appium中常用的操作控件的方法,后续会继续补充…

1.通过文本定位

driver.findElementByAndroidUIAutomator("new UiSelector().text(\"反馈天气\")").click();

2.通过列表index定位

List<WebElement> listReport = driver.findElementsByClassName("android.widget.TextView");// 获取TextView的所有元素

        WebElement targetReport = listReport.get(4);// 获取列表中第四个Textview,即“阴”
        targetReport.click();

3.通过Xpath定位

driver.findElementByXPath(
                "//android.widget.Button[@resource-id=\"com.moji.mjweather:id/btn_weather_feedback_publish\"]").click();
        Thread.sleep(2000);

driver.findElementByXPath("//android.widget.TextView[@text=\"使用其他方式登录\"]").click();

4.输入文字

List<WebElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
        //textFieldsList.get(0).clear();
        textFieldsList.get(0).sendKeys("15527913638");
        textFieldsList.get(1).sendKeys("12345678");

// 另一种输入方法,与List效果一致
        /*
         * driver.findElement(By.id(
         * "com.moji.mjweather:id/et_login_input_account")).sendKeys(
         * "15527913638"); driver.findElement(By.id(
         * "com.moji.mjweather:id/et_login_input_password")).sendKeys("123456");
         */

5.校验文案是否展示

// wait login success

 Assert.assertTrue(driver.findElement(By.name("好友动态")).isDisplayed());

6.截屏

snapshot((TakesScreenshot) driver, "时景页面.png");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值