微信号:gh_be6ab0a8dfb7

介绍:国内首个移动测试交流社区,最专业的 Appium 交流社区.专注于移动互联网测试和 Web 相关测试技术研究.我们的理念:Coding Share Show Cool

Selendroid 入门

2015-03-24 20:52 testerhome

长久以来没有一个人写个具体的selendroid教程,害得我们这些初入门的都不懂得大神们说的selendroid有自己的inspector是啥意思。或者一说webview,大神们就说用selendroid模式,然后无语中。。。吐槽完毕。没办法只好自己去官网看了一遍又一遍。最终还是把官网的demo跑起来了。。


官网地址:http://selendroid.io/


首先,先去官网下jar包,目前我用到过的就是selendroid-standalone-0.15.0-with-dependencies.jar和selendroid-client-0.15.0.jar。search里面都有,其实里面的都可以下载下来,免得到时候些脚本的时候连缺什么都不知道。再然后把最右边的demo的apk下下来。


打开模拟器,我用的是genymotion,版本是4.1.1。所有的都准备好了,接下来打开你的cmd命令,然后到你下载的jar包和demo的apk下的文件夹输入


java -jar selendroid-standalone-0.15.0-with-dependencies.jar -app selendroid-test-app-0.15.0.apk

这样就打开了selendroid-standalone的一个端口为4444的服务器。打开浏览器,输入http://localhost:4444/wd/hub/status,得到以下信息,说明你运行成功了。


再然后打开Eclipse,编写demo脚本,添加jar依赖。


@Testpublic void test() throws Exception { SelendroidCapabilities capa = new SelendroidCapabilities("io.selendroid.testapp:0.15.0"); WebDriver driver = new SelendroidDriver(capa); //driver.getPageSource(); WebElement inputField = driver.findElement(By.id("my_text_field")); Assert.assertEquals("true", inputField.getAttribute("enabled")); inputField.sendKeys("Selendroid"); Assert.assertEquals("Selendroid", inputField.getText()); driver.quit();}

现在重点来了,怎么打开inspector呢。打开浏览器输入:http://localhost:4444/inspector。结果得到的是:


它是让你跑debug 模式,然后才能打开inspector。在代码中随便定个点,然后才能定位。再次刷新http://localhost:4444/inspector,可以正确定位到了,借用官网的图。



而且惊喜的发现点击inspector上的元素,在下面的框会生成xpath。


试过可以直接用。至于后面的HTML Source一直都是空白,不知道为啥。
下一步可以结合appium的Selendroid用在项目中。期望webview可以顺利解决。


总结:Selendroid Inspector总体感觉还是不错,就是画面做的不够好。不过比appium Android自带的inspector渣渣和UIAutomatorviewer好多了,这两个要是改进到能支持webview的定位多好,不用瞎折腾了。

更新:今天又用了会selendroid,果然槽点特别多。。


1.每次脚本改了任何代码,server都要重新再次打开。改进办法:写个bat文档,每次点开就行。


2.webview居然定不到具体的元素,定到的还是一整块。自动生成的xpath也不能用。最后只好用driver.getPageSource(),官网也推荐用这个。

3.自带inspector不能用代理,否则会显示不出来。





 
testerhome 更多文章 Android GPU 过渡绘制小 Demo,真正的测试 Appium 入门到原理合集 Robotium 跨进程(底层设备事件注入 年终奖去哪儿了? React Native—— 移动应用跨平台框架江湖将现终结者?
猜您喜欢 100offer的坚持:年轻人挑工作 【教程分享】Cocos2d-x iOS集成push Be Professional - 项目规范之道 你会因为什么理由淘汰新人?丨Gad有奖讨论区 风水大师看程序员职场运势,有些人注定去BAT!