appium 怎么定位纯 HTML5 页面应用

appium 怎么定位纯 HTML5 页面应用,第1张

如果是进行wap端测试

1、使用appium集成的chromeDriver。在手机端安装chrome浏览器,下载对应版本的chromeDriver,使用appium初始化Chrome浏览器相关设置,可以启动chrome,利用chromedriver实现自动化。

2、如果是内嵌webview,需要初始化driver后,利用drivercontexx("WEBVIEW_1"),进行切换到webview,进行元素定位或者自动化

3、其他方式,启动源生浏览器,但这种方式是将源生浏览器当做一个app来使用,可能启动activity不允许三方进行调用,这样会导致失败

其实就是检查页面某一固定的元素是否存在。

可以用assert断言,当然也可以自己写if语句进行判断。

assert用得比较多,举例说明:

例如,登录成功后的界面,某个固定控件包含字符串“aaa”,找到,则证明登录成功。

assertEqual('aaa',driverfind_elements_by_class_name("androidwidgetEditText")text)

 assertEqual()只是其中一个方法。

        断言的用法还有很多,感兴趣可以百度一下。

手机上 *** 作时,最常见的 *** 作就是滑动 *** 作,在app自动化测试时,可使用Swipe关键字,即将坐标由开始位置移到结束位置,即可实现屏幕下拉,使需要测试的元素可见

Arguments:[ start_x | start_y | offset_x | offset_y | duration=1000 ]

如果就简单的输入指定元素的坐标位置,遇到手机屏幕大小改变,或者参数更新,就得重新修改坐标,这无疑是件很麻烦的事情,所以采取小步快跑的方式,每次滑动一小段,然后循环,一直到出现了想要的元素才停止,基于该思路,在RF中封装关键字:

如果是向下滚动,纵坐标是从大到小,向上滚动,反之。

应该是driverfind_element_by_xpath("//androidwidgetScrollView/androidwidgetRelativeLayout[5]/androidwidgetTextView[2]")click()吧。

这样定位会报错。xpath是按照树的层级一层一层识别元素。在uiautomatorviewer,识别到的元素前缀都是从0开始,而转换成xpath,是需要从1开始的,类似第一个层级,第二个层级

driverfindElementByXPath(

"//androidwidgetLinearLayout[1]/androidwidgetFrameLayout[1]/androidwidgetLinearLayout[1]/androidwidgetLinearLayout[1]/androidwidgetLinearLayout[1]/androidwidgetEditText[1]");

改写下定位元素到1,继续调试下

public class MyAndroidDriver extends AndroidDriver {

public MyAndroidDriver(URL remoteAddress, Capabilities desiredCapabilities) {

super(remoteAddress, desiredCapabilities);

}

static String UiScrollable(String uiSelector) {

return "new UiScrollable(new UiSelector()scrollable(true)instance(0))scrollIntoView("

+ uiSelector + "instance(0));";

}

/

滑动到某元素

@param uiScrollables 符合UiScrollable的string串

@return

/

public WebElement scrollToElement(String uiScrollables ) {

String uiScrollables = UiScrollable(uiScrollables );

try {

Threadsleep(200);

} catch (InterruptedException e) {

eprintStackTrace();

}

return findElementByAndroidUIAutomator(uiScrollables);

}

}

看了AndroidDriver源码中scrollTo方法之后的思路,当然了,这边的uiScrollables 需要构造,例如:new UiSelector()className(\"androidwidgetTextView\")textContains(\"测试测试\")resourceId(\"comxxxxx:id/package_exchange_textview\")

以上就是关于appium 怎么定位纯 HTML5 页面应用全部的内容,包括:appium 怎么定位纯 HTML5 页面应用、appium 用python脚本在登录时怎么获取点击登录按钮后的界面进行判断是否登录成功了呢、Appium使用swipe滚动屏幕元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9729348.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存