@zhamdoctor
crazy-yapi 的 github 地址:https://github.com/xian-crazy/yapi
@ 叶浩 希望作者能加入 docker 部署吧,会方便很多。
试试下面的用法 ,a是组合键
private Actions keyAction;
keyAction.sendKeys(Keys.CONTROL,a).perform();
赞,mark 下。
解决了,在 genymotion 的 设置里面,ADB 设置哪一项,选择自己的 SDK 路径 就可以了。
看到这个帖子感觉很情切,我也是 python 出身,同样也用 webdriver 在移动端和 web 端做了几个自动化的项目,分享下我们的做法和思路,希望能抛砖引玉。
1,我们是采取的数据和脚本分离的形式来控制业务的逻辑和次序的,目前来看这样其实很好,首先脚本调用的是外部 xls 里面的数据,即使没有代码经验的人,也可以通过 xls 表格来进行自动化的业务参数配置。
2,对象库的管理,同样会放在 xls 里面,通过动态调用来实现,这样在脚本内就不会存在有大量的元素信息,一来维护不便,二来方便我们阅读。
3,我们还有点不同的是,我们将需要导入的包,都放在了一个 import.py 的文件里,所有脚本统一导入这个.py 文件,这样节省了很多不必要的代码量。
4,我们对脚本的逻辑控制,业务参数控制均抽离出来,放在 xls 里,类似于 UI 层的控制,脚本直接调用不必每次在脚本内修改代码,造成不必要的问题和维护。
参考下我们的模式希望有所共鸣,欢迎大家指正。
IOS 上已经有了,安卓的不清楚,在商店里搜 tester home 即可,全面叫做 tester home 开源客户端。
Appium 是支持中文的定位和输入的,参考下 Python 的写法
driver.find_element_by_xpath('//android.widget.TextView[contains(@text, "北京")]').click()
@yangchengtest 今天问过一次开发 ,他就说改了点 样式 边框什么的 没做逻辑修改,就把我打发了,很是无奈。。
@doctorq 是的,我做了一个对比,第一个是加载不出来的,第二个其它可以加载出来的页面。
有个比较基础的问题,如果我们得到 uidump.xml 文件可以做什么? 为什么 找不到这个文件啊?
@doctorq
红圈的是 无法加载的页面,应该还是有问题,还是谢谢您,应该是程序的问题。
@doctorq
谢谢您的思路,我试试有结果回复您。
@yangchengtest 虚拟机和真机都试过,均不行。
@doctorq
谢谢您的回复,不是动态页面,无需加载,就是一个很普通的页面。
@ata360 请问下 这个问题您那边解决了没,我这边也碰到了,应该是开发改了什么东西 导致 viewer 不支持了。
@mildshark @lzp492456131
不好意思 大家,这几天有点忙,没及时回复,如果出现安装 apps 的时候出现了 兼容问题,请装一个 ARM 的补丁包,直接拖到模拟器中,安装完重启下就好了。
补丁包名字:Genymotion-ARM-Translation.zip
下载地址就自己搜下吧
我去。这什么节奏啊,求留下,一定尽一份力,每天都来看的地方,不能说没就没。
这个太厉害了,以前基于 UI 的 web 自动化确实很蛋疼,刚试了下,挺不错的,就是官方下载的有点慢,在 CSDN 上找的一个资源下的。
@houi_ok 请问下,您的问题解决了吗?
我这边无法启动 adb server 和 genymontion 模拟器,它们好像都同时占用了 5037 这个端口,导致 adb devices 下无法查看到 genymontion,求解答。
谢谢 果然如此, 但还需要加上 iPhone 的型号 比如 iPhone 5S 就好。
不知道是不是跟系统有关系,我之前看了一个帖子就是说需要在 4.4 以上的系统中,才能看到 除了 NATIVE_APP 以外的 WEBVIEW
这个问题好,关注下,顺便再问下,最多能支持几个模拟器呀?
学习了,谢谢分享。
真可惜在北京,6 年,Pythoner+Appium,英语可流利交流,web+ 安卓。
@lena 不客气,需要 心得 和碰到的问题啊,呵呵。
@xujjie 这个我们没有尝试过,我们基本都在 4.4.X 的系统上测试的,你可以试下,有结果可以分享下给我们。谢谢。
有。通过 ID 来调用,当然还有通过 NAME XPATH 等等。
请修改下头像,谢谢。
def by_ID_text(self,driver,Value):
element = WebDriverWait(driver,self.Timeout).until(EC.presence_of_element_located((By.ID,Value)))
return element.text