当然考虑啊
他用的 python,TouchAction 是 java 的吧……
10 多个
杭州西溪谷国际商务中心
会比较喜欢 java 作为主要语言的,不过更重视基础、学习能力
顶两下
java 脚本调用"idevice_id -l"命令去查询
建议自己发现连接本地电脑的设备,然后自动获取 udid
两码事,使用 Selenium Grid 就是可以让 appium 和设备不在跑脚本的计算上
看 xml 文件里面配置了 3 个线程,但是只有 2 个套设备的信息,这块会有问题。
设置为 class 级别的并发,2 个线程只会执行一遍 beforetest 方法,建议把 setPortUDID 这个方法放到 beforemethod 里面做。
另外把 port 这类参数当成 Driver 的内部变量,线程之间不够安全,可能会互相有冲突。建议把 port 这个搞成 list,然后在执行 case 的时候,根据 case 所在线程的名字或者序号去取到不同的线程。
iOS 可以多个设备同时执行,但是不支持多个模拟器。传参失败把具体原因写出来把,这个没有难点,多线程或者并发都可以简单实现。
顶一下
有问题吗?
之前实现过类似功能,用 Appium 起 2 个服务 2 个 session 就可以了。
以前也遇到过这个问题 最终用文字识别的方法处理了 也不知道其他人有没有更好的办法
你这么实现会有点问题,默认的 click 操作点击的是控件中心点,输入图标有可能在字符串中间,或者在字符串左边(如果字符是右对齐),输入 67 删除不了右边的字符。可以考虑同时输入 112 删除右边字符,或者点击控件右边位置什么的。
appium 服务器地址不要用 localhost,用 ip 就可以了
clean 这个方法是不通用。我的办法是先获取输入框里面的字符数,点击输入框,然后发送相应数量的 Backspace 和 Delete 按钮,确保光标无论是在字符的前面还是后面都可以把对应长度的字符给删掉
枚举那块,没感觉到有什么好处啊,反而有点多此一举……
现在 xcuitest 有 2.5.0 的版本了 试了下已经可以把真机的 app 拉起来了
#9 楼 @miaomiao413 我自己试过是好用的 2.4.2 的版本我也拉不起来 降级到 2.0.36 就没问题
The problem solved by installing xcuitest-driver VERSION v2.0.36 (downgraded from v2.4.2)
cd /usr/local/lib/node_modules/appium
npm uninstall appium-xcuitest-driver
npm install appium-xcuitest-driver@2.0.36
用 Sublime Text3,感觉比 RIDE 好太多。同时兼容 Python,很方便,Java 没试过,应该也可以。