appium testcase2

本文介绍使用Appium进行移动应用自动化测试的方法,包括环境搭建、基本操作如元素查找与手势操作等,并分享了一些实用技巧。

http://www.cnblogs.com/cingchen/p/4320506.html


自己跑的两个case都在盘里,可以直接解压后放到workspace,加载工程就能跑,前提是你的环境没有问题
http://pan.baidu.com/s/1bnHCyn1
eclipse-File-import-Maven-Existing Maven Projects-Next
不过Kuyoulife_v2.apk连得是内网的数据库,可以看看写的东西,把下面的注释掉跑ContactManager.apk还是能跑的

几个点:
1.private AppiumDriver driver;声明的driver为AppiumDriver类型的,需要导入Java-client的包是2.0以上
import io.appium.java_client.AppiumDriver;
AppiumDriver有个swipe函数,可以进行左滑右滑手势,下面会用到
2.unicode包,这样就能对中文更好的支持,建议加上
capabilities.setCapability("unicodeKeyboard", "True");
capabilities.setCapability("resetKeyboard", "True");

主要用到的函数
try{Thread.sleep(1000);}catch(Exception e){} //是等待1000毫秒继续执行,跑的时候经常会发生找不到Element,用这个等待程序加载再找Element
driver.findElementByName("杭州").click();//找到Element后执行点击事件
driver.findElementById("com.ku0571.kuyou:id/login_pwd").sendKeys("qqqqqq");//找的Element后向输入框输入字符qqqqqq
driver.sendKeyEvent(AndroidKeyCode.BACK);安卓物理返回键

左滑手势(引导页的左滑手势)
double x = driver.manage().window().getSize().getWidth();//x的值为安卓设备的宽
double y = driver.manage().window().getSize().getHeight();//y的值为安卓设备的高
for (int i=0;i<5;i++)//有时左滑手势不行,故多循环了几次
{
driver.swipe((int)(x0.9), (int)(y0.8), (int)(x0.1), (int)(y0.8), 100);左滑手势
}

左滑手势(某个页面对某个列表元素进行删除操作)
x = driver.findElementById("com.ku0571.kuyou:id/view_content").getSize().getWidth();
y = driver.findElementById("com.ku0571.kuyou:id/view_content").getSize().getHeight();
double y1 = driver.findElementByClassName("android.widget.RelativeLayout").getSize().getHeight();
driver.swipe((int)(x0.9), (int)(y1+y0.5), (int)(x0.1), (int)(y1+y0.5), 100);
driver.findElementById("com.ku0571.kuyou:id/delete").click();

等待页面元素加载,这里的10是指10秒
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

添加检查点,也没找到很好的方法,目前想到的是在执行完一段代码后用println打印出来,这个在console里能看到运行到哪一步了,比appium那么一大堆log更清晰
system.out.println("log");


站内引用未提及appium测试缺少uiautomator2时的安装方法。不过,通常可以通过以下思路进行安装: Appium 是一个跨平台的自动化测试框架,appium-uiautomator2-driver 用于 Android 平台 [^2]。一般在使用 Appium 进行 Android 自动化测试时,若缺少 uiautomator2,可能在首次运行脚本时会自动安装。首次运行脚本手机自动新增 Appium - settings 和 UiAutomator2,确保可以自动安装,并开启全部权限,后续跑自动化脚本时,这两个 APP 不可缺少 [^1]。 另外,若要手动确保其安装,可以结合 Appium 的配置来处理。比如在 Python 代码中使用 Appium 进行测试时,在配置 `capabilities` 字典中,指定 `automationName` 为 `uiautomator2`,示例代码如下: ```python import unittest from appium import webdriver from appium.webdriver.common.appiumby import AppiumBy capabilities = dict( platformName='Android', automationName='uiautomator2', deviceName='Android', appPackage='com.android.settings', appActivity='.Settings', language='en', locale='US' ) appium_server_url = 'http://localhost:4723' class TestAppium(unittest.TestCase): def setUp(self) -> None: self.driver = webdriver.Remote(appium_server_url, capabilities) def tearDown(self) -> None: if self.driver: self.driver.quit() def test_find_battery(self) -> None: el = self.driver.find_element(by=AppiumBy.XPATH, value='//*[@text="Battery"]') el.click() if __name__ == '__main__': unittest.main() ``` 当运行这样的脚本时,Appium 会根据配置尝试使用并确保 uiautomator2 驱动可用 [^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值