×

appium面试题

appium面试题(为什么 appium 一调试就出现问题)

admin admin 发表于2023-04-11 10:36:36 浏览48 评论0

抢沙发发表评论

本文目录

为什么 appium 一调试就出现问题


问题现象:安装maven插件后,每次启动包Eclipse is running in a JRE, but a JDK is required.Some Maven plugins may not work when importing projects or updating source folders.
根本原因是eclipse没有使用JAVA_HOME,而是使用的c:\windows\system32(64位系统是syswow64目录)中的javaw.exe启动的,而Maven在进行编译运行时可能会使用到JDK相关的工具(例如:com.sun.tools.jar)。
解决方法:在eclipse中Window进入Preferences,选择Installed JREs添加一个JRE为JDK的安装目录并设置其为默认JRE。然后修改eclipse安装目录下的eclipse.ini文件,在该配置文件头部添加如下两行:
-vm
D:/Java/jdk1.8.0_20/bin/javaw //jdk的安装目录,注意路径中不要有空格
若JDK的安装路径为默认路径,即C:\Program Files,路径中含有空格,则此处应该配置为C:\PROGRA~1;若为C:\ Program Files (x86),此处应该配置为C:\PROGRA~2
END
2 Appium 报Could not push strings.json
1
问题现象:
error: Failed to start an Appium session, err was: Error: Could not push strings.json
》 info: [debug] Cleaning up android objects
》 info: [debug] Cleaning up appium session
》 info: [debug] Error: Could not push strings.json
》 at E:\Appium\node_modules\appium\lib\devices\android\android.js:323:26
》 at null.《anonymous》 (E:\Appium\node_modules\appium\node_modules\appium-adb\lib\adb.js:170:16)
》 at ChildProcess.exithandler (child_process.js:641:7)
》 at ChildProcess.EventEmitter.emit (events.js:98:17)
》 at maybeClose (child_process.js:743:16)
》 at Process.ChildProcess._handle.onexit (child_process.js:810:5)
》 info: [debug] Responding to client with error: {“status“:33,“value“:{“message“:“A new session could not be created. (Original error: Could not push strings.json)“,“origValue“:“Could not push strings.json“},“sessionId“:null}
》 info: [37m《-- POST /wd/hub/session [39m[31m500[39m[90m 10085.061 ms - 176[39m [90m[39m

解决方法:清理电脑内存,修改模拟器SD卡空间
END
3 部分手机用Swipe滑动引导图片无效
问题现象:部分手机用swipe方法模拟滑动引导图片时,出现无效或未按预期执行的现象
解决方法:调整swipe最后一个参数duration
driver.swipe(xStart, yStart, xEnd, yEnd, 100);
END
4 定位Android设备或模拟器页面元素
1
问题现象:编写脚本时,往往需要定位元素,但常用的name常常出现定位不到的问题,此时就需要通过classname和id来定位(id定位需要Android系统版本4.2及以上)。
解决方法:
1、连接上设备或模拟器,进入SDK的tools目录下,启动uiautomatorviewer.bat
2、 Ui Automator Viewer打开后点击按钮 Device Screenshot就可以看到当前设备或模拟器视图,在右侧可以看到视图的元素。如图:

appium textview怎么定位并使用textview.settext赋值


setText是TextView和editText使用的基本方法。是设置文本信息的。该方法有2中参数,一种直接传入参数时字符串,一种传输参数是整型:如果传入参数是字符串,则直接赋值到setText中,如果传入参数是整型,则会去resource中根据整型查找对应的字符串,然后转化为字符串。该题问题解决:1234result.setText((R.string.bmi_result)+nf.format(BMI));根据上面所说,这设置就有问题。result.setText(R.string.bmi_result);//这里需要根据编译的id获取对应的文本。result.setText(result.getText().toString()+nf.format(BMI));

appium python xpath 定位问题,新手问题


按照你的想法,在ListView前面的那个LinearLayout
应该为LinearLayout\ListView,至于原因,想想数组的调用
xpath的获取,如果是网页端的很方便
用chrome, 选中你要获取的元素右键鼠标,审查元素。然后在开发者窗口中,定位到的代码处,右键鼠标,有个copy xpath,点击即可
公司限制,莫法给你图片演示了

Python appium 的问题


driver.tap([(847,2022), (1052,2030)], 500)
[(847,2022), (1052,2030)]这个列表由元组构成,代表屏幕的多点触摸坐标,500是持续时间,表示持续触摸500毫秒。在自动化脚本中,直接传入,或以变量的形式传入都可以。

appium环境搭建时出在cmd中输入appium命令时为什么会出现‘node’不是内部或外部命令


没有安装nodejs或者说是node.exe所在的目录未添加到环境变量中:

我安装的appium目录下存在node.exe,所以将该目录:D:\Program Files\Appium添加到环境变量即可解决该问题。

另外,如单独安装nodejs,也可将nodejs目录添加到环境也可解决该问题:


appium+python+android,运行登录代码时报错 :无法使用给定的搜索参数在页面上找到元素


解决问题
  问题描述:Eclipse下缺少org.eclipse.jdt.junit相关的插件,造成用junit运行测试用例的时候,报空指针的错误!!!
  网上查看了一下JDT相关的东西,发现中能是我这个Eclipse下载的是ADT版本的,当时用来做Appium python版和Robotium的测试的。这个版本的Eclipse没有SDK。于是去网上下载了一个eclipse-jee-luna-SR1-win32-x86_64,解压后,再按Appium java环境搭建的方法配置了一下,写了个Demo再次运行,成功!!
顺便,android提供的的eclipes无法使用junit4,也需要重新下载。望采纳。