代码分享不了,appium+allure+pytest 搭的平台,你上网一搜都有的,已经成熟了这套,用 ai 估计也能生成,不过不一定适用需要改
这边单接口自动化,只是单纯的 200 和响应的某些字段返回是预期结果,对于数据库没有做效验
我也是,大佬有啥想法没,头疼的很,自动化方面貌似没啥新技术,目前只有 ai 新热点,但是能接入测试的,好像没啥,就一个 ai 写用例,和代码,不过需要颗粒度,否则效果不太好
这个 web 和 api 已经有了,只要重发某些服务,会对应运行响应接口,app 不稳定,并且每次是发版后通过 git 调起服务也算有了
是的,appium +pytest+allure 封装一层而已
有没有好的 ai 接入自动化平台的推荐啊
兄弟们,还有其他建议吗,都可提。
感谢提出的建议,有些 cicd 已经让运维接入了,另一些会仔细调研感谢。
@ 小黑子 - 祖国人 集思广益只是诶特下大佬,兄弟你有啥建议吗
appium 日志
理论上是我要的,但实际不是啊,没有清除应用数据,ios 的模拟器运行的,不知道什么情况,android 是清除的,你遇到过吗
我也遇到过,你解决了吗
突然发现 android 和 ios 表现不一样,desird 都设置一样,但是 ios 每次都不会重启,如何让 ios 每条用例都重制状态呢?已经设置 noreset 为 false 了但不起作用
有人了解过吗
scheme 的方式是什么,能展开说下吗,多谢
DESIRED_CAPS = {'moniqi':{
"platformName":"Android",
"platformVersion":"7.1.2",
"appActivity": ".onboarding.welcome.GetStartedActivity t14",
"deviceName":"127.0.0.1:62001",
"appPackage":"com.italki.app",
'unicodeKeyboard': True, # 使用 unicodeKeyboard 的编码方式来发送字符串
#'resetKeyboard': True, # 隐藏虚拟键盘,防止遮挡元素
'noReset': True,
'LANGUAGE':"en"
}}
这边直接加了 language 这个参数,但是貌似没起作用
公司的 app 是全球的,所以会根据系统语言进行切换,列入系统是英文的,app 语言就用英语显示,是中文就用中文,所以做成自动化就需要要切换系统的语言,adb 有这个方法吗,我昨天搜到有但是用了不起作用
这个和 appium 自带的截图区别大吗?如果这个准确可能都会换成这个来用
额直接牵涉框架了啊,我还以为是个第三方包,那估计难,这边 appium 框架基本都设计完整了
这是最新的技术吗,没接触过,之前用截图用的是自带的,感觉效果很差,用像素对比,容错率很差
终于搞定了,和你说的大同小异,我是 conftest 下某个方法调用 driver,然后 yield 这个 driver,用例程,生成页面类的时候,传如这个方法的 driver
还是不太明白,我这在用例层写用例,每次都会生成相关页面类,页面类继承基类,基类生成 driver,因为是单例,所有运行都没问题,但是 conftest 下不知道如何使用,用了你的方法,不知道理解对不对,在用例层,最开始就生成一个 driver,然后吧这 driver 导入 conftest,conftest 下的方法直接传入这个 driver,然后用例层的一条 case 跑这个 conftest 方法,接下去的操作也传入刚开始生成的 driver 但是报错了 E selenium.common.exceptions.InvalidSessionIdException: Message: A session is either terminated or not started
应该是没用同一个 driver
用了 session 他直接报错 Fixture "get_driver" called directly. Fixtures are not meant to be called directly, are created automatically when test functions request them as parameters. See https://docs.pytest.org/en/latest/fixture.html for more information.
目前我是 self.driver = webdriver.Chrome() 这种方法,页面类继承 base 类,都是没问题的,但是如果用 conftest 的话就不知道怎么处理了,应为 conftest 没有继承,如果 conftest 方法在 case 下运行,后续接下去的操作不知道如何接上 conftest 里的 driver,有啥好办法吗,目前我想到的是在 conftest 下重新调用 driver,然后 conftest 下都吧这个 driver 当入参,但是貌似报错