这个可以用 git pre-commit hook 做吧?一旦执行 commit 操作,自动执行指定的程序,程序返回值非 0 就不能提交。
同样的有 pre-push hook,一旦做 push 操作就执行指定程序。
上下文是?没明白为何要根据 git diff 部署
这个也是我最终没有解决的问题。。。我实际使用就是开了 debug 模式下的服务后长期不关,这样就不用每次都要开服务了。
PS:有些服务不用做 debug 的,用普通模式启动更好,速度也更快。
手动测试不能抛弃,但也不能忽略自动化测试减少了不少手动测试的工作量。
一步到位,无论是手动测试还是自动化测试都很难做到吧。
没有。。。
它是要通过命令 appium
来启动 appium 的,是不是环境变量没设置好?
你是不是没装 appium 。。。
你说的是 stf 的服务?stf local
满足不了需要么?
图里的日志太少了。。。切换 context 的日志没看到啊。。。
建议直接粘贴日志内容,截图能显示的日志数量太有限了。
Web 页面生成工具很实用,感谢分享~
把你完整的日志发上来,并且说明下哪部分是你切换 webview 后做的 切换 context 到 webview 后获取元素点击
,哪部分是 点击后在新页面操作
我看你的日志里切换了 webview 后貌似就一直没响应了直到 60 秒自动断开连接。
看下 page object ?
嗯,这是个坑。window handler 和 context 都检查下有没有多个比较保险。
我一般是用手机助手类的软件做截图。或者搞个在电脑实时显示手机界面的软件,直接截这个软件的图。
报错信息发上来看下?
这是自问自答?
确认下你加载另一个 h5 的方式是直接跳转,还是新开了个窗口?或者是不是增加了一个新的 context ?
如果有多个窗口或者多个 context ,需要切换到当前显示的那个再控制才行。
不是,我的数据是写在单独的 Java 脚本里。后面没有继续做了。
解决方法发出来分享下呗
PS:如果是毕业设计,做一个自动功能遍历可能可以成为一个不错的方向。如果能封装成类似 CrashMonkey4iOS 这种有良好报告的就更完美了。
如果想先专注于 Android ,学语言学 Java 可能效率更高。毕竟 Android 开发目前主要也是 Java 。
这个其实我也没做好。当时是通过设计用例的方式做的,不同边界值写不同用例覆盖。后面想了下,其实可以做成小工具,根据协议规则自动生成一组边界值数据,然后把这组边界值数据里的每个数据遍历一下。
建议自己实践一下,同一个用例用 appium 和 uiautomator 各写一个,比较下执行时间。也欢迎分享你的实践结果~
以前有大致看过一下,appium 作为网络中转增加的耗时单次来说其实并不是很多(可以在日志里打开时间戳,比较下收到请求->手机端执行、执行完毕->返回请求 两个流程的时间差,印象中应该在几十毫秒内吧)。整体耗时多和 webdriver 本身 api 设计有关,和服务端的交互频繁度比较高。例如 driver.find_element_by_id('username').click()
,需要两次和 appium 的网络通讯(第一次找元素,把元素存手机端缓存;第二次从缓存获取元素对象,再调用对象的点击事件)。
warning 还是 error ?warning 的话可以暂时不用理会,应该不会影响你的安装。真要解决的话可以看下 https://github.com/eslint/eslint/issues/5833