@mymgbaby 你用我上面的命令行报
Original error: unknown error: com.android.chrome is not installed on device 21139b7e??
先看下 adb 启动的具体的哪个 再跟踪下 appium 对应的值就知道什么问题了
你可以试试使用这个 adb 命令看下两个包名启动的浏览器分别是什么
adb shell am start -n + 包名
感觉是一个轻量的 appium 也可以说是中国的 appium
以为 HSTS 是打错的 HTTPS 协议呢,不错,赞一个
就是没有北京啊
以前做的方式是用模拟器建不同分辨率的模拟器来自己查看
那个 driver 多次初始化,有两种解决方式,一种是单例模式,一种是在下次初始化前 close 之前初始化的 driver。
一大波单身狗袭来
很全的资料,之前看过腾讯的就过些基本的,还是 testhome 的给力
争取早点报名,参加下,体验下。。
培训的还是基础,用多了你才知道自己少了哪些东西,有些弯路可以适度的走走
好地方 可惜人在北京啊。
第一次看到 linux 的 appium,看着挺好的,赞一个。
#11 楼 @a3096556718 上次我也是两次定位,会出问题的,可能是 appium 的一个 bug 吧,后来就用上面的方法通过了,忘记 Python 不用变量声明了,哎,去补补。
dr.find_element_by_name("9").click()
dr.find_element_by_name("9").click()
dr.find_element_by_name("删除").click()
改成
WebElement nine = dr.find_element_by_name("9")
nice.click
time.sleep(5)
nice.click
上面没有验证过,不知道控件的类型在 python 中是不是叫 WebElement
java 的类似这么写是可以通过的
个人理解就是关键字驱动,感觉写的不错
maven 和 gradle 都要去重构目录结构吧,现在的开发懒的不想去动目录,所以我目前尝试用这种方法打包,不行再用 maven 和 gradle 吧,谢谢楼上的三位
#4 楼 @qq329999897
正好学习下,自己试下,是可以的,下面是 appium 输出的 Log
info: [debug] [BOOTSTRAP] [debug] Got command of type ACTION
info: [debug] [BOOTSTRAP] [debug] Got command action: find
info: [debug] [BOOTSTRAP] [debug] Finding new UiSelector().className("android.widget.LinearLayout").childSelector(new UiSelector().className("android.widget.LinearLayout").index(3)) using ANDROID_UIAUTOMATOR with the contextId: multiple: false
info: [debug] [BOOTSTRAP] [debug] Parsing selector: new UiSelector().className("android.widget.LinearLayout").childSelector(new UiSelector().className("android.
widget.LinearLayout").index(3))
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: java.lang.Class<T> arg: "android.widget.LinearLayout"
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: class java.lang.String arg: "android.widget.LinearLayout"
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: class com.android.uiautomator.core.UiSelector arg: new UiSelector().className("android.widget.LinearLa
yout").index(3)
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: java.lang.Class<T> arg: "android.widget.LinearLayout"
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: class java.lang.String arg: "android.widget.LinearLayout"
info: [debug] [BOOTSTRAP] [debug] UiSelector coerce type: int arg: 3
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.LinearLayout, CHILD=UiSelector[CLASS=android.widget.LinearLayout, INDEX=3]]
其中这行
info: [debug] [BOOTSTRAP] [debug] Using: UiSelector[CLASS=android.widget.LinearLayout, CHILD=UiSelector[CLASS=android.widget.LinearLayout, INDEX=3]
是把写的 java 转化成功了,就可以定位到控件了
下面我这里的写对应的 java 代码
WebElement mine = driver.findElementByAndroidUIAutomator("new UiSelector().className(\"android.widget.LinearLayout\").childSelector(new UiSelector().className(\"android.widget.LinearLayout\").index(3))");
mine.click();
Android:4.3
appium:1.4.0
有朋友说 appium 不支持 childSelector 和 fromParent 方法,是么?
这两个方法是 uiautomator 的,appium 你也知道是封装了 uiautomator,所以理论是支持的,但我自己没有试过,有时间搞出结果再来回答吧
这样看一个 JMeter 做起来的也是挺大的项目了,喜欢
期待 appium boys
单用 shadowsocks 收费版本的就够了
alt+D 也可以定位地址栏