Appium——iOS自动化测试
来源:互联网 发布:mt4交易软件 编辑:程序博客网 时间:2024/06/07 06:54
Appium下载与安装
关于Appium:
详细介绍见Appium官方网站:http://appium.io
安装步骤:
- 安装node.js&npm
- 安装Appium
- 安装Selenium WebDriver
网上有很多关于Appium安装的教程,这里就不再详述。
http://www.cnblogs.com/enjoytesting/p/3513637.html
检查Appium安装环境:
打开Appium,点击诊断图标
通过Appium doctor检查安装环境,如果没有安装xcode command line tools,appium会自动安装。
安装成功后,如下图所示,(ps:主要用于iOS自动化测试,只需保证iOS检查通过即可)
Appium自动化测试——模拟器
1.在xcode中运行代码,生成.app文件
ps:运行时要注意,模拟器及系统版本
2.配置iOS设置
点击苹果图标,设置app path(第1步生成的.app文件的路径),设置force device和platform version(两者要与第1步中的设置保持一致)。
3.录制脚本,生成python脚本
点击launch按钮,然后点击放大镜图标
即可启动iOS模拟器,并弹出appium inspector窗口
点击record开始录制python脚本。
在UIAWindow中找到相应的界面元素,及并执行相应操作
例如:在TextField1中输入23,在TextField2中输入78,点Compute Sum计算结果
生成的python脚本如下:
from selenium.webdriver.firefox.webdriver import WebDriverfrom selenium.webdriver.common.action_chains import ActionChainsimport timesuccess = Truedesired_caps = {}desired_caps['appium-version'] = '1.0'desired_caps['platformName'] = 'iOS'desired_caps['platformVersion'] = '8.0'desired_caps['deviceName'] = 'iPhone 6'desired_caps['app'] = os.path.abspath('/Users/liuyan/Desktop/ios-test-app-master/Build/Products/Debug-iphonesimulator/TestApp.app')wd = webdriver.Remote('http://0.0.0.0:4723/wd/hub', desired_caps)wd.implicitly_wait(60)def is_alert_present(wd):try:wd.switch_to_alert().textreturn Trueexcept:return Falsetry:wd.find_element_by_name("TextField1").send_keys("23")wd.find_element_by_name("TextField2").send_keys("78")wd.find_element_by_name("ComputeSumButton").click()finally:wd.quit()if not success:raise Exception("Test failed.")但是appium生成的python脚本不能直接运行,需要添加引用
from selenium import webdriverimport os
4.关闭iOS模拟器和appium inspector窗口
一定要关闭iOS模拟器和appium inspector窗口!!!
一定要关闭iOS模拟器和appium inspector窗口!!!
一定要关闭iOS模拟器和appium inspector窗口!!!
重要的事情说三遍,否则python脚本不能运行
5.运行Python脚本,进行自动化测试
打开终端,cd到.py文件位置,执行Python脚本
此时,iOS模拟器将自动打开,并开始执行测试脚本。
如果要测试多个不同的iOS设备、iOS系统版本,只需要更改python脚本中的相应设置即可,省去了大量的重复劳动
Appium自动化测试——真机测试
1.通过xcode将测试app烧录至真机
2.配置iOS设置
3,4,5步骤与模拟器一致
appium 问题总结
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
- Appium——iOS自动化测试
- Appium IOS 自动化测试
- Appium IOS 自动化测试初探
- Python + Appium+ IOS自动化测试
- Appium+Robotframework iOS自动化测试
- Appium IOS 自动化测试初探
- Appium IOS 自动化测试初探
- Appium移动自动化测试(一)——安装Appium
- appium iOS 自动化测试 使用备忘
- IOS、Android自动化测试框架Appium
- Appium的ios自动化测试详解
- Robot + Appium 搭建 iOS 自动化测试环境
- appium进行ios的自动化测试,appium的安装
- Appium移动自动化测试(三)——python demo
- 安卓自动化测试——appium配置
- Appium移动自动化测试(四)——Appium中文文档列表
- APPIUM+JAVA自动化测试
- Appium自动化测试
- android环境大全
- 算法练习:URAL 1495 One-two, One-two 2
- Opencv Mat的数据读取
- 【bzoj3224】Tyvj 1728 普通平衡树
- CodeForces 377A
- Appium——iOS自动化测试
- SQL Server 2012基本语句(带实例)
- systemctl开机启动wpa_supplicant
- iOS经典讲解之Objective-C属性的内存管理原理
- android Gallery模拟左右滑动的listView
- 数据结构 4____计算时间复杂度
- 使用GrabCut算法提取前景物体
- 使用php的swoole框架,实现高性能长连接websocket
- 在Windows7中如何创建删除特殊目录?