windows下 appium遇到的问题(android)
Posted Elvis_lfc
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下 appium遇到的问题(android)相关的知识,希望对你有一定的参考价值。
http://www.cnblogs.com/fnng/p/4540731.html
Appium移动自动化测试(一)--安装Appium安装Android 模拟器:
把镜像换成mirrors.neusoft.edu.cn,然后点击packages中的reload,可以发现全部都可以下载了
简介:
Appium使用WebDriver的json wire协议,驱动ios系统的UIAutomation库、Android系统的UIAutomator框架,Appium集成Selendroid用以支持
早期的Android。Mozilla公司也开发了WebDriver API,实现在Firefox OS中加入自动化测试。
在使用Appium进行自动化测试时,无需重新编译应用,测试可以使用 Selenium WebDriver所支持的任何语言编写,包括Java、Objective-C
、javascript、php、Python、Ruby、C#、 Clojure、Perl和Haskell等,还可以使用任何测试框架,包括Junit、Rspec、PHPUnit、Nose、
Mocha、 Cucumber、Capybara和Vows等。
Appium有如下优点:
1、跨架构,原生、混合以及Web移动应用。
2、跨平台,Android、ios和firefoxos。
3、跨语言,java、python、ruby、nodejs、php、Objective-C、JavaScript、C#等。
4、跨app,可以在多个APP之间交互。
5、支持多种测试框架,Junit、Rspec、PHPUnit、Nose、Mocha、Cucumber、Capybara和Vows等。
6、不依赖源代码。
web自动化测试的路线是这样的:编程语言基础--->测试框架--->webdriver API--->开发自动化测试项目。
移动自动化的测试的路线要长一些:编程语言基础--->测试框架--->android/IOS开发测试基础---->appium API ----->开发移动自动
化项目。
打开Windows命令提示符,通过“appium-doctor”命令检查appium环境。 不是内部命令
解决方法:
把安装的appium文件夹的Appium\\node_modules\\.bin加到环境变量PATH里
notejs :D:\\worktools\\nodejs
案例
http://blog.csdn.net/niubitianping/article/details/52524810
控件
http://blog.csdn.net/niubitianping/article/details/52608638
问题
http://blog.csdn.net/niubitianping/article/details/52624417
解决每次安装 appium setting 和unlock app
进入 D:\\Appium\\node_modules\\appium\\lib\\devices\\android 修改 addroid.js
注释掉
//this.uninstallApp.bind(this),
//this.installAppForTest.bind(this),
//this.initUnicode.bind(this),
//this.pushSettingsApp.bind(this),
//this.pushUnlock.bind(this),
收起系统键盘 driver.pressKeyCode(AndroidKeyCode.BACK);
解决编码
file->setting ->editor ->file encoding 全部变为 UTF-8
build.grade中加入
tasks.withType(JavaCompile)
options.encoding = 'UTF-8'
gradle.properties加入
org.gradle.jvmargs=-Xmx1536m -Dfile.encoding=UTF-8
IOS:
1.NameError: name 'os' is not defined
出现这个错误是因为我们的脚本中调用os的方法却没引入os对应的库
解决方法:只需在脚本文件中添加引用:import os
2.NameError: name 'webdriver' is not defined
这个问题我们依照错误1中添加引用: import webdriver
结果又出现另一个错误
ImportError: No module named webdriver
没有名叫webdriver的模块,由from selenium.webdriver.firefox.webdriver import WebDriver可知,webdriver应该是源自selenium
解决方法:添加引用from selenium import webdriver
3.selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: Requested a new session but one was in progress)
出现这个错误是因为同时启动两个事务,一个是appium inspector,另一个是python demo.py
解决方法:关闭appium inspector即可运行py脚本
4.urllib2.URLError: <urlopen error [Errno 61] Connection refused>
出现这个错误是因为没有启动appium,导致http://127.0.0.1:4723/wd/hub 不能访问
解决方法:启动appium,并重新launch 测试app,此时http://127.0.0.1:4723/wd/hub 即可访问
5.Failed to start an Appium session, err was: Error: Could not initialize ideviceinstaller; make sure it is installed and works on your system
出现这个错误是因为没有安装ideviceinstaller
解决方法:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
brew install ideviceinstaller
6.真机测试时,出现app闪退问题
解决方法:在设置-》开发者-》Enable UI Automation 为yes
以上是关于windows下 appium遇到的问题(android)的主要内容,如果未能解决你的问题,请参考以下文章
搭建python+appium环境的时候遇到 'could not find adb.exe!'的问题
Appium1.10.1+python3如何避免每次安装AppiumUnlock,appium Settings
Windows下部署Appium教程(Android App自动化测试框架搭建)