解决方法:https://testerhome.com/topics/10390 这个帖子的问题 2 和问题 3
# 将 XCTestWDApplication.m 和 XCTestWDApplication.m 文件拖拽到 Xcode 中的 PrivateHeaders 文件下
需要在 XCTestWDUITests-Bridging-Header.h 文件中添加
#import "XCTestWDApplication.h"
不错,看上去整洁了很多~
期待~
试用了下,规范代码的比重比较大,定位错误代码占比很少,小团队版本迭代周期很短,很少有精力去修复规范方面的问题,发现代码可能存在的错误及风险(比如空指针,memory leak 等)貌似比 fireline,findbugs 要弱。个人理解,轻喷~
加个 ['appWaitActivity'] = 'xxxx'在 setup 里试试看~
先赞后实践~
我是把第一张图中代码生成一个 Log.py 文件,在使用的时候方便导入使用;第二张图红色框内的是调用这个 log 方法示例:
Log.log.info
--Log:文件名
--log:logging.getLogger()
--info:是其中的一个方法
然后你想在什么位置记录操作日志就在什么地方调用
怀疑可能是你 HTMLTestRunner 版本与你 python 的版本不一致,python3 要下载对应的 3 的版本,2 就下载对应的 2 的版本
才发现吗?我都关注你那么久了,你竟然才发现
我自己的,你直接 copy,跟楼上类似~
def run_TestCases():
suite = unittest.TestSuite()
suite.addTest(Create.Create("test_xxx"))
suite.addTest(Create.Create("test_xxx"))
if name == 'main':
print("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
now_time = time.strftime("%Y%m%d%H%M", time.localtime(time.time()))
filename = "D:\xxx\xxxx\xxx\" + now_time + ".html"
fp = open(filename, 'wb')
runner = HTMLTestRunner.HTMLTestRunner(
stream=fp,
title='xxxx 测试',
description='详细测试报告'
)
suite = run_TestCases()
runner.run(suite)
fp.close()
页面已经展示,元素定位不到,这种情况是有点坑,原生的没碰到过,h5 的到是碰到过,然后就只好使用坐标了。
帅哥认真这优点我可以作证,哈哈 ~ 缺点倒还没真正碰到过较真
Android:
1.通过 adb logcat 获取,如果是 anr,还可以获取 trace 文件,然后通过开发定义的 tag 关键字去查找
2.三方平台 log 查看,什么 bugly,听云之类的
3.如果可以复现的闪退,还可以使用 debug 版本直接打 log,命令也好,工具也好都可以
。。。。。
iOS 同样:
1.手机里直接导出 log
2.三方工具导出崩溃日志
3.依旧是三方平台
基本这些就差不多可以搞定 log 了
我们都是质疑产品,设计不合理,细节不清晰
我是自己写一个 swipe 的方法,然后通过判断元素存不存在,存在就执行,不存在就继续滑动,每次滑动半个页面,缺点执行效率有慢。
while True:
try:
self.capture()
self.driver.find_element_by_id("com.xxx.xxx:id/reedit_btn").click()
break
except:
self.swipeUp(500)
楼越盖越歪~
够认真
特意去跑了下结果贴出来给有疑问的同学~:
x: a
y: 1
dx: [1, 3, 5, 7]
y: 5
dx: [3, 5, 7]
y: 7
dx: [3, 5, 7]
x: b
y: 2
dx: [2, 3, 4, 5]
y: 4
dx: [3, 4, 5]
y: 5
dx: [3, 4, 5]
d_new: {'a': [3, 5, 7], 'b': [3, 4, 5]}
让你们公司的 iOS 开发给你的账号也加入到公司的开发者账号组里,应该可以解决
项目组解散,被调到其他项目组闲了几个月,每天就是抽烟,喝茶,没活干~闲走的
可以启动一个 logcat 配合 logging.getLogger() 来记录 app 和操作日志,简单方便,基本上就够用了。
可以用 try except 判断上传完成后需要进行点击的控件,若上传后的控件存在就执行上传后的操作,若不存在就等待直至上传成功,设置个最大等待时间即可, 缺点是 try except 比较耗时;另外确定按钮的问题,你可以使用 self.driver.find_element_by_name("确定").click(),如果有其他语言的就另说了~
get_screenshot_as_file 也可以 webview 模式截图的吧,我用的就是这个,可以截啊~
def capture(self):
now_time = time.strftime("%Y%m%d%H%M%S", time.localtime(time.time()))
shortcut = self.driver.get_screenshot_as_file("D:\xxx\xxx\Screenshot\" + now_time + ".png")
return shortcut
不知道是不是因为你改动的部分导致的,建议你直接把这些方法封装起来,然后导入使用。