windows下 appium遇到的问题(android)

Posted Elvis_lfc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下 appium遇到的问题(android)相关的知识,希望对你有一定的参考价值。

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


javascriptphp、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!'的问题

Windows下如何搭建appium的环境

Appium1.10.1+python3如何避免每次安装AppiumUnlock,appium Settings

Windows下部署Appium教程(Android App自动化测试框架搭建)

Appium Studio 初体验(windows做ios自动化,录制appium脚本)

Windows下搭建appium+python的测试开发环境