方法不错,增强了 feature 文件的描述性。
但加了图片感觉维护工作量更大了,而且也还是没办法很好地说清楚大部分需求(例如针对 UI 的,点击 xx 按钮后不同状态应该有怎样不同的界面效果)。感觉目前 bdd 比较适合描述逻辑类的需求,这类需求比较适合通过纯文字描述。
目前接触的产品都比较喜欢用原型工具展示需求,界面与逻辑结合,表达的内容也是大家都相对能看得懂。BDD 的描述能力相比之下局限性还是比较大。
你们现在有在落地 BDD 吗?效果如何?
你设置了 browserName ,appium 有可能自动切换成了 webview context ,所以手势无效。
你 swipe 前切换成 native context 试试?
#113 楼 @yefnegjun 给你一个看安装包签名信息的方法:
codesign -dvvvv path/to/xx.app
,就可以看到签名信息。例如:
$ codesign -dvvvv temp/Payload/ToDoList.app
Executable=/Users/hengjiechen/Develop/iOS/develop/IOSTutorial/ToDoList/temp/Payload/ToDoList.app/ToDoList
Identifier=chj.ToDoList
Format=app bundle with Mach-O universal (armv7 arm64)
CodeDirectory v=20200 size=1176 flags=0x0(none) hashes=50+5 location=embedded
OSPlatform=37
OSSDKVersion=590080
OSVersionMin=458752
Hash type=sha1 size=20
CandidateCDHash sha1=8534c429ec4269909c65778970316e7e9d610e51
Hash choices=sha1
Page size=4096
CDHash=8534c429ec4269909c65778970316e7e9d610e51
Signature size=4350
Authority=iPhone Developer: Wei Feng Hou (RGR96FVT75)
Authority=Apple Worldwide Developer Relations Certification Authority
Authority=Apple Root CA
Signed Time=11 Dec 2015, 12:26:52 AM
Info.plist entries=31
TeamIdentifier=VN295HN9LJ
Sealed Resources version=2 rules=12 files=61
Internal requirements count=1 size=172
Authority=iPhone Developer: Wei Feng Hou (RGR96FVT75)
这里就说明了签名的证书是 iPhone Developer ,即开发证书(也可以叫调试证书,目前没有官方中文译名)
#113 楼 @yefnegjun 建议你了解下 iOS 开发证书(iOS Developer)和 iOS 发布证书(iOS Distribution)的区别,开发应该也了解这个的。
instruments 对 app 签名有限制不是指必须加 udid(不加 udid 你的应用会闪退或者装不上),而是对打包时使用的签名证书有限制。 iOS distribution 证书签名是不行的。
where adb
看下 adb 路径,确认下你的 adb 是不是确实是你 android sdk 里面的那个adb
命令替换成你 android sdk 里面的 adb 绝对路径试试bash_profile 是 linux 或者 mac 用的,windows 不用这个。USB 序号这个应该是不加就不会显示在 adb devices 的列表里面的,你用的是模拟器,应该也没啥关系。
百度找到的方法都试过了吗? 重启 adb server ,重启手机,重启电脑。
#2 楼 @xiaoafeizt 我觉得你理解错了。 @Tank007 的答复是对的。
find_elements 和 find_element 虽然只是相差一个单词,但返回值类型是完全不一样的,所以用法差异也很大。
elements 无论 id 是否唯一都是返回 List 类型,List 里面的元素才是 MobileElment (暂且认为是这个名字。具体类型名字我也不大清楚),而 element 如果存在就返回第一个匹配的元素,类型为 MobileElement,不存在直接抛出异常。
你可以类比为 ["string"]
和 "string"
的区别。第一个是 elements 的返回值,第二个是 element 的返回值。
你这里是方法使用不对,只有 MobileElement 对象有 click,is_displayed 这些方法,list 没有。
#111 楼 @yefnegjun 使用条件和其它用 UIAutomation 运行的条件基本一致,要求 ipa 包必须是开发者调试证书签名。
你和开发确认下测试包用的是什么证书签名的吧。
屏蔽理由:同一时期同一公司的招聘贴麻烦合并到同一个帖子中。
同一时期同一公司的招聘贴麻烦合并到同一个帖子中。
#109 楼 @yefnegjun 这个是执行随机事件的,有可能是你界面跳转的按钮范围比较少所以随机点击的时候按到的概率比较低。
如果是为了尽可能遍历多的界面,你可以在论坛搜索下 appcrawler 这个遍历工具,可能更满足你的需要。
你说的是 toast 吗?
#8 楼 @heyzhuliye 赞同。
排下版吧,这样日志和代码混在一起太难看了。
另外,把你的脚本完整贴上来,就这三句话定位不了问题。根据日志只能告诉你是你的脚本本身的问题。要不是 driver 用错了,要不是 appium-client 版本有问题。
麻烦补充薪酬范围。
补充一下,除了 npm install ,appium 针对 windows 和 mac 有提供编译好带有 GUI 界面的包。只是版本更新没 npm 快。