find_element_by_id(‘xxxx’).get_attribute("checked")
指定 udid 才有用,Android 上面 deviceName 貌似没啥用,udid 也是 adb devices 里的 id 就行了
1.appium 像是一个服务,appium-python-client 是让 python 连接 appium 服务的一个驱动,也就是一个 python 语言封装和 appium api 通讯的一个库(python,java,js 等)
2.appium 又继承了 selenium 的 webdriver,因此 appium-python-client 安装可能会更新 selenium。
自己见解哈~~
pytest.ini 的文件编码格式有问题吧,改成 utf-8
引入啊 from locust import seq_task
或者检查一下启动 appActivity 是不是不对, 系统计算器 启动 appActivity 应该是 “.Calculator”,更换一下试试
adb shell monkey -p com.android.calculator2 -v -v -v 1
日志不是说了,并没有找到 com.android.calculator2 这个包名么
手机里手动卸载 settings_apk-debug.apk 应用,可能包名重复了。
self.commonTools._driver.contexts
前提你已经初始化了
有可能是服务器的连接数瓶颈,加了 200ms 等待。导致请求连接无法快速释放,出现服务器大量等待线程。
测试发现了开发的局限、思路中的狭隘和技能方面的不足,但是开发自己感受不到啊~~
Python
IOS :
def swipeElementLeft(self, element):
"""
IOS专用 在元素内部滑动
"""
scrolldict = {'direction': 'left', 'element': element.id}
self.driver.execute_script('mobile: swipe', scrolldict)
element 是已经查找到的元素
Android:
没有发现其他方法,只能通过楼上 layasa 说的自己封装方法了
find_element_by_xpath('//android.widget.TextView[contains(@text, "红磨坊")] ')
可以取 ID 数组,然后根据数组下标位置定位
你还得启两个不同端口的 appium 服务,webdriver 端口要和 appium 服务端口一致才行。
手误,打错了。
import execjs
ctx = execjs.compile("""
var data = {};
function adddata(x, y) {
data['x']=x
data['y']=y
return data;
}
function subtraction(data) {
return data['x'] - data['y'];
}
""")
print(ctx.call("adddata", 1, 2))
print(ctx.call("subtraction",{'x':10,'y':5}))
1.JS 中的 function 要 return 值给 Python
2.call 方法中第一个为执行发方法名称,后面均为参数。
3.至于要传什么参数,什么情况下执行哪种方法,去问你们开发吧。
截图,选取对比范围,进行图片对比,根据对比度判断,是否切换,需要 PIL 库之类的。
问题 1:
print("这篇文章的标题是:",response.find('a',{"class":"topic-title pull-left"}).get('title'))#文章标题
拦截 https 要给你的 app 装代理工具的证书,装好之后一般就行了。
试了下 mi3 是可以的,应该 Android 都是这个路径,要么是你目录没有权限,或者 sqlite3 没有。
root 权限下:
1.db shell su
2.sqlite3 /data/data/com.android.providers.telephony/databases/mmssms.db 'select * from words;'
网上下的 python 3+HTMLTestRunner 吧?
python 3+ 的 HTMLTestRunner 源码中找到:
if isinstance(o,str):
*******
else:
*******
删掉 if else 直接改成 uo=o
@xiguamaomaoqiu 没有问题的,都能执行用例 runner.run(suite) 就可以了
1.unittest.TextTestRunner(verbosity = 2).run(suite) 实际上又执行了一遍用例但是会有冲突 (如果想看的话,这行替换成 unittest.main())
需要加 runner.run(suite)
runner = HTMLTestRunner.HTMLTestRunner(
stream = fp,
title = u"TestReport",
description = u"Result"
).run(suite)