上一篇介绍了在appium上启动app和两个定位元素的小工具使用方法,这篇就从appium的一种小方法:远程控制,以及如何把appium上的输入法调整成中文,算是两个小技巧吧
目录
正文
2.4 Remote 远程控制
前言
2.4.1 设置 IP
2.4.2 访问地址
2.4.3 配置测试机
2.4.4 远程操作
2.5 输入中文
前言
2.5.1 定位搜索
2.5.2 运行脚本
2.5.3 屏蔽软键盘
2.5.4 输入中文字符
2.5.5 还原设置
2.5.6最终脚本
后话
在启动 app 的时候有这样一行代码 driver= webdriver.Remote(‘http://192.168.1.1:4723/wd/hub’,
desired_caps),很多 小伙伴不知道这个 ip 和端口哪里来的,于是小编决定写一篇关于这个 appium 的 服务器 ip 文章!
一般来说 appium 中 127.0.0.1 这个地址的默认的不需要修改。在做自动 化过程中,如果遇到需要远程操作的话,这个功能就可以派上用场了。想想 看, 如 果公司给你单独配置一台跑自动化测试电脑,然后自己工作的电脑写脚本,在自动化机器上运行脚本,这样工作自动化两不误,是不是很爽呢?
打开 appium>General Setting 界面
2.这里用个 appium 默认的服务端地址 127.0.0.1 端口 4723,==一般在自己机器上调试,无需修改 ==
1.代码里面的那个地址到底指向的是哪里呢?
启动 appium 服务后,在浏览器输入:http://127.0.0.1:4723/wd/hub。出现如下图所示,说明服 务启动成功,可以把 appium 看出是一个服务端。
一台工作电脑,一台跑自动化测试的电脑,如何用工作的电脑远程控制自动化测试的那台电脑呢?
测试电脑上的 appium 服务地址改成本机 IP 地址如:192.168.1.1(敲 黑板,记重点!这里要是本机的 ip 地址)
3.启动测试电脑上的 appium。
在自己工作电脑上打开浏览器输入:192.168.1.1:4723/wd/hub。这一 步很重要,一定要看到如下界面,确认远程链接成功。
2.脚本里面的代码修改下地址
3. 测试机上环境准备好后,在本机上运行脚本,于是测试机上可以自动运行了。
# coding=utf-8
from appium import webdriver
import time
desired _caps={
'platformName':'Android,
'deviceName':'30d4e606',
'platformVersion':'5:0',
'appPackage':'com.taobao.taobao',
'appActivity':'com.taobao.tao.welcome.welcome',
'unicodeKeyboard':True,
'resetKeyboard':True
}
driver=webdriver.Remote('http://192.168.1.1:4723/wd/hub',desired_caps)
在做 app 自动化过程中会踩很多坑,咱们都是用的中文的 app,所以首先要解决中文输入的问题!
本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题。
# coding=utf-8
from appium import webdriver
import time
desired _caps={
'platformName':'Android,
'deviceName':'30d4e606',
'platformVersion':'5:0',
'appPackage':'com.taobao.taobao',
'appActivity':'com.taobao.tao.welcome.welcome',}
driver=webdriver.Remote('http://192.168.1.1:4723/wd/hub',desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("come.taobao.taobao:id/home_searchedit").click()
time.sleep(2)
driver.find_element_by_id("come.taobao.taobao:id/")click()
driver.find_element_by_id("come.taobao.taobao:id/").send_keys(u"hao")
1.首先要确认手机上的输入法是用的什么输入法,如果==默认是中文的输入法,启动后会出现下面情况,无法输入成功 ==
2.于是可以先把手机上的输入法改成英文的状态,这样就可以输入英文字符串了。
# coding=utf-8
from appium import webdriver
import time
desired _caps={
'platformName':'Android,
'deviceName':'30d4e606',
'platformVersion':'5:0',
'appPackage':'com.taobao.taobao',
'appActivity':'com.taobao.tao.welcome.welcome',}
driver=webdriver.Remote('http://192.168.1.1:4723/wd/hub',desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("come.taobao.taobao:id/home_searchedit").click()
time.sleep(2)
driver.find_element_by_id("come.taobao.taobao:id/")click()
driver.find_element_by_id("come.taobao.taobao:id/").send_keys(u"点赞")
# coding=utf-8
from appium import webdriver
import time
desired _caps={
'platformName':'Android,
'deviceName':'30d4e606',
'platformVersion':'5:0',
'appPackage':'com.taobao.taobao',
'appActivity':'com.taobao.tao.welcome.welcome',}
driver=webdriver.Remote('http://192.168.1.1:4723/wd/hub',desired_caps)
# 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id("come.taobao.taobao:id/home_searchedit").click()
time.sleep(2)
driver.find_element_by_id("come.taobao.taobao:id/")click()
driver.find_element_by_id("come.taobao.taobao:id/").send_keys(u"hao")
希望这两个小技巧对大叫有帮助,有疑问或者有什么需要了解的可以点击并输入暗号:CSDN