少年辛苦终身事,莫向光阴惰寸功。这篇文章主要讲述基于C#的Appium自动化测试框架(Ⅱ):Android元素定位相关的知识,希望能为你提供帮助。
我们知道,Appium的原理上是通过RemoteWebDriver提供了元素定位功能,再根据定位后的元素进行操作,比如:
protected static RemoteWebDriver CalculatorSession; CalculatorSession.FindElementByName("One").Click();
工作的重点就是定位到对应的元素,Appiuim提供了很多用来定位元素的方法,具体包括:
FindElement(By by); FindElementByClassName(string className); FindElementByCssSelector(string cssSelector); FindElementById(string id); FindElementByLinkText(string linkText); FindElementByName(string name); FindElementByPartialLinkText(string partialLinkText); FindElementByTagName(string tagName); FindElementByXPath(string xpath);
那么我们接下来的工作,就是找到这些适用于这些方法的元素了。
android系统下的元素可以通过uiautomatorviewer进行定位,Uiautomatorviewer是Android SDK中自带的元素定位工具,在Android_SDK\\tools\\bin路径下直接打开该文件即可。
启动Android模拟器或链接Android真机,点击左上角的手机按钮,即可捕捉APP当前所处的界面,点击左上角的任意一个手机图标都可以,区别只是后者对层次进行了压缩,这种情况对于大量使用数组或者泛型填充的APP更加有优势,不会定位到一堆空元素或者名字ID都相同的元素出来:
文章图片
比如说,我们定位这个分享按钮,我们可以看到这个按钮的resource-id(用ID定位)、class(ClassName定位)以及Text(用LinkText定位),我们在定位的时候,优先按照唯一的元素属性进行定位,这里我们选用文本进行定位,点击这个元素的代码那么可以如下:
public void TestCase1() { CalculatorSession.FindElementByLinkText("分享").Click(); }
【基于C#的Appium自动化测试框架(Ⅱ)(Android元素定位)】
推荐阅读
- Android Netroid解析之——断点续传下载及问题修正
- VS2015密匙--VS2015打开丢失msvcp140.dll--cannot find one or more components ,please reinstall the applicati
- Android更新项目名称
- Android进阶Junit单元測试环境搭建以及简单有用
- Android旋转屏幕后国际化语言失效的解决的方法
- Android Design Support控件之DrawerLayout简单使用
- Android绘制圆形进度条
- Android ScrollView滚动实现大众点评网易云音乐评论悬停效果
- 自写的开发框架,胜于官方的clientAPP的实战开发。(已开源)