使用appium进行图案解锁

对于应用中图案解锁的功能,使用appium可以很好的完成这个功能。

这里以锁屏时图案解锁为例:

图案设置为:


在该锁屏界面解锁:



获取图案中9个点的坐标时,可以使用sdk tools目录下的hierarchyviewer工具获取。

下面贴上图案解锁的代码:

package com.xuxu.autotest;

import java.net.URL;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.TouchAction;
import io.appium.java_client.android.AndroidDriver;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.remote.DesiredCapabilities;

public class UnlockTest {
	private AppiumDriver driver;

	public UnlockTest() {
	}

	@Before
	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);
		sleep(2000);
	}

	@After
	public void tearDown() throws Exception {
		driver.quit();
	}

	@Test
	public void test() {

		driver.sendKeyEvent(26); // 按power键锁屏
		sleep(3000);
		driver.sendKeyEvent(26); // 按power键点亮屏幕

		driver.tap(1, 540, 960, 500); // 触摸屏幕中间,显示图案解锁框
		sleep(2000);
		
		//图案解锁
		TouchAction action = new TouchAction(driver);
		action.press(215, 870).moveTo(540, 870).moveTo(862, 870)
				.moveTo(540, 1195).moveTo(215, 1195).moveTo(215, 1518)
				.moveTo(540, 1518).moveTo(862, 1518).moveTo(862, 1195)
				.release().perform();

	}

	private void sleep(int i) {
		try {
			Thread.sleep(i);
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}

}

最后附上在执行脚本的过程中,使用screenrecord录制的解锁过程的视频:

unlok.mp4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值