appium ios 键盘输入怎么按home键盘

appium(3)
背景介绍:
win8.1 64位系统
大致安装步骤:
安卓测试开发环境- node.js(npm)--appium(appium-doctor)
1.安装jdk(最好是1.8以上版本)
1.1jdk版本要求1.8
双击安装,一路下一步完成安装,记住安装的路径,后面要配置环境变量。
1.2配置jdk环境变量
右键我的电脑-属性-高级系统设置-系统属性-高级-环境变量
点击新建系统变量&java_home,值为C:\Program Files\Java\jdk1.8.0_66
新建或编辑classpath,值为.;%JAVA_HOME%\lib\dt.%JAVA_HOME%\lib\tools.jar
新建或编辑path,值为%java_home%\%java_home%\jre\bin
检测jdk配置是否成功
cmd命令行输入javac,出现java信息则配置成功。
cmd命令行输入java -version,出现版本信息则配置成功,更加验证配置的正确性
2.安装sdk(手机要求API&=17,也就是要求安卓4.2以上版本)(如果是苹果手机直接跳过这步)
网上有API与安卓版本的对应关系,API17--4.2.x,API17--4.2.x &API18--4.3.x
&API19-4.4 &
3.appium安装
安装win+r--&npm&install&-g&appium或npm
--registry pmjs.org install -g &appium(第二种是国内的镜像)
,此方法安装后可以运行多个appium。
验证是否安装成功,命令行输入appium如果出现下面信息就是成功了
卸载appium:
npm uninstall appium -g
方式二:使用appium.exe安装
此方法安装成功后只能启动一个appium
去appium官网()下载后安装,如果要安装在windows上下载forwindows版本,如果要安装在mac上下载dmg版本,下图为最新windows版本和mac版本的appium。(需要翻墙)
下载好的appium解压,”一路下一步进行安装即可。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:43192次
积分:1632
积分:1632
排名:第17880名
原创:117篇
转载:21篇
(1)(7)(3)(2)(7)(8)(4)(5)(8)(31)(25)(1)(1)(7)(1)(2)(5)(2)(5)(3)(2)(6)(3)君,已阅读到文档的结尾了呢~~
appium培训_TesterHome第一次公开课_图文appium webdriver 公开课 xpath 图文 android
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
appium培训_TesterHome第一次公开课_图文
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口通过无线连接的方式来做&Appium&自动化
感谢TesterHome里各种大牛,提出的宝贵思路,我这里只是将他们的想法综合了一下,试出来的成果,谢谢大家分享你们的智慧。
简单说下背景:
由于公司要测试APP
产品的耗电问题,我们采取的办法很low,对各个模块功能进行大量的手动测试,再通过Emmagee或GT得出来的结果来评估产品耗电,流量,CPU,内存的消耗等。由于手工效率太低,而且不准确,我们就决定用自动化来实现,但用自动化又面临了一个USB接电脑供电的问题,从而导致计算出来的功耗与手动跑的有很大的误差。
万般寻找,终于在Testerhome里等到牛人给了我解决的思路和方案,感受颇深,仅仅的几个字就解决了我的问题,而且很优雅。
直入主题。
我们通常做安卓自动化的时候,总是需要将手机连接到电脑,直到&提出的可使用 adb connect
命令来实现无线连接手机,一听到果断入手搜索相关APP,走完一遍流程,原来是如此的简单。
我们可以在商店里面下一个叫 Wireless ADB(下图为豌豆荚),安装完关闭豌豆荚
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/2014/aaad5cdc61f5417ce9bee3d79ac373ce.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
安装完后图标如下:
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/1d5b6f5695789dfeaa474a21b.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
接下来至少要保证 2 件 事情:
1,确保手机已经Root了
2,手机和PC 要在一个网段(从PC端可以ping通手机端的IP地址)
这2件事情办好就好办多了,打开安装后的Wireless ADB.
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/2014/c0efbdcf4d5c86b6fb45a97.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
勾中Wireless ADB 的checkbox,后它就认为是开启了
当然这里我们还可以设置它的端口,默认为5555
下一步开始通过无线来连接手机,在PC端CMD 下 输入你手机的IP地址和它的端口号后回车
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/e14faacecc8d89c6e98.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
成功连接上。
如果出现了 not implement 这个错误,请关掉豌豆荚,360 等软件,很可能是有冲突
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/014daf868a067b265e74b54dc0.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
连接成功后,就可以开始正常的自动化工作了。
启动appium 和 adb connect
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/82a.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
无线启动appium感觉比有线稍微慢一点点,大概也就10来秒,可以接受范围
<img STYLE="BorDer-BoTToM: 0 BorDer-LeFT: 0 MAx-WiDTH: 100%; HeiGHT: VerTiCAL-ALiGn: BorDer-Top: 0 BorDer-riGHT: 0 opacity: 1" ALT="" src="/blog7style/images/common/sg_trans.gif" real_src ="/photo/af3c1b6cc2043ac36e.png"
TITLE="通过无线连接的方式来做&Appium&自动化" />
成功无线运行脚本测试APP.
差不多就这些了,经测试脚本运行的速度和有线并无太大的差异
至少我们可以解决这几个问题:
1,我们不必非要连接数据线做安卓的自动化测试(感觉演示的时候会很酷...)
2,我们可以更精确的来衡量功耗的使用
3,手机电池寿命更长。。。。哈哈哈
等等,相信还有很多好处。。
再次感谢各位大牛,文采不佳,大家凑合着看。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。Appium中部分api的使用方法
使用的语言是java,appium的版本是1.3.4,java-client的版本是java-client-2.1.0,建议多参考java-client-2.1.0-javadoc。
1.使用Driver,其已经继承了AppiumDriver
private AndroidD
public void setUp() throws Exception {
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName", "Android Emulator");
capabilities.setCapability("platformVersion", "4.4");
capabilities.setCapability("platformName", "Android");
capabilities.setCapability("appPackage", "com.android.settings");
capabilities.setCapability("appActivity", ".Settings");
driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"),
capabilities);
public void tearDown() throws Exception {
driver.quit();
}2.截屏并保存至本地
//截屏并保存至本地
File screen = driver.getScreenshotAs(OutputType.FILE);
File screenFile = new File("d:\\screen.png");
FileUtils.copyFile(screen, screenFile); //commons-io-2.0.1.jar中的api
} catch (IOException e) {
e.printStackTrace();
3.push文件、pull文件
File file = new File("d:\\test.txt"); //test.txt内容为"test"
String content =
content = FileUtils.readFileToString(file);
} catch (IOException e) {
e.printStackTrace();
byte[] data = Base64.encodeBase64(content.getBytes());
driver.pushFile("sdcard/test.txt", data);
byte[] resultDate = driver.pullFile("sdcard/test.txt");
System.out.println(new String(Base64.decodeBase64(resultDate))); //打印结果为"test"
//获取当前界面的activity,可用于断言是否跳转到预期的activity
driver.currentActivity();
//打开通知栏界面
driver.openNotifications();6.
//获取网络状态
int status = driver.getNetworkConnection().
System.out.println(status);
//设置网络状态
driver.setNetworkConnection(new NetworkConnectionSetting(status));
driver.setNetworkConnection(new NetworkConnectionSetting(false, true, false));7.
//启动其他应用,跨APP
driver.startActivity("com.android.camera", ".CameraLauncher");8.
//自动滑动列表
driver.scrollTo("text");
driver.scrollToExact("text");9.
driver.installApp(appPath);
//判断应用是否已安装
driver.isAppInstalled("package name");10.
//拖动相机图标至日历图标位置
new TouchAction(driver).longPress(driver.findElementByName("相机"))
.moveTo(driver.findElementByName("日历")).release().perform();11.
driver.lockScreen(2);
//判断是否锁屏
driver.isLocked(); 12.
//发送按键事件
driver.sendKeyEvent(AndroidKeyCode.HOME);
//通过uiautomator定位clickable属性为true的元素并点击
driver.findElementByAndroidUIAutomator("new UiSelector().clickable(true)").click();
//相同属性的元素使用List存放
List elements = driver.findElementsByClassName("class name");
elements.get(0).click(); //点击List中的第一个元素
//tap,点击元素位置
driver.tap(1, driver.findElementByName("日期和时间"), 0);
(window.slotbydup=window.slotbydup || []).push({
id: '2467140',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467141',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467143',
container: s,
size: '1000,90',
display: 'inlay-fix'
(window.slotbydup=window.slotbydup || []).push({
id: '2467148',
container: s,
size: '1000,90',
display: 'inlay-fix'}

我要回帖

更多关于 appium 模拟键盘输入 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信