赞~
话说,标题不翻译是故意的吗?
至于你提到的 testerhome社区有看到is_displayed在appium中是不可用的
,不知道你具体是哪篇文章看到的?能给下出处吗?
#8 楼 @testblue 这么说吧,正常自动化测试用例的执行套路是:
setUp()
test1()
tearDown()
setUp()
test2()
tearDown()
...
setUp 和 tearDown 是由测试框架(如 Junit,testng)提供的固定方法,默认什么都不做。而你想要达到的相互不影响,应该是在 setUp 和 tearDown 里操作。
还是举前面注册和登录的例子吧:
setUp:打开应用
test1():注册用户
tearDown:删除用户并关闭应用
setUp:打开应用
test2():注册用户并登录
tearDown:删除用户并关闭应用
要消除 test1 的效果,应该在 tearDown 里面做。这也是上面其他同学提到的 “case 之间解耦” ,即无论测试集中的 test1 用例通过或失败,test2 用例都不会受到影响。
你手工测试收起键盘是怎么操作的?你在自动化里使用的是一样的操作吗?
这个我觉得不是 robotium 的问题吧。按照顺序来说,你的 test1 跑完,然后继续跑 test2 ,此时 test1 的遗留效果还在,这很正常吧。
我猜你想要的是 test1 跑完就整个 app 重置,然后 test2 跑的时候相当于是重新启动 app 来跑的?举个例子,test1 注册了用户,test2 是注册并登录这个用户,所以 test1 跑完后 test2 注册就会出错(这个用户已经注册过),而你需要的效果是 test1 跑完的遗留效果和没跑过(即没有注册过用户)一样?
#13 楼 @qumoy0315 那这个控件是 webview 里面的内容?如果是这样,建议先 switch 成 webview 再获取数据。
#11 楼 @qumoy0315 赞。
从你的代码上看,感觉是控件自身没有更新自己的属性值。你知道这具体是什么控件不?
代码麻烦使用代码块。。。看到头都晕了。。。
我觉得是组件的问题,显示更新后相关属性没有更新。
不过因为不知道你具体是什么属性,怎么获取组件值,获取什么组件值,所以具体我也不清楚啦
比较接近的应该就是一些界面遍历工具了,如思寒的 AppCrawler 。
testerhome 目前不兼容 IE 浏览器。请使用 chrome 或者 Firefox 访问。
已修复:
今晚修复一下
代码使用代码块吧,否则缩进都没了。
另外,既然觉得没啥好说,为何特意发上来。。。
正常来说,GET 方法的 http body 服务器都不去读取的。因为 GET 传输数据本来就应该通过 url 的 prarameters 来传。如果要通过 http body 来传,应该用 POST 。
可以参考 http://www.w3school.com.cn/tags/html_ref_httpmethods.asp
不过这么传有个坑,有些浏览器的 url 有最大长度限制。
漏了问你一个很重要的问题。。。你的 charles 版本多少。。。官网的文档是对应最新版的
额,你不是抓 iOS 的 https 包吗?干嘛看 mac os x 的步骤。。。
屏蔽理由:代码没有使用 Markdown ,导致显示不全,不方便阅读和调试。