码迷,mamicode.com
首页 > 移动开发 > 详细

Java+Appium自动化测试框架(二) 定位方式

时间:2017-11-15 17:06:20      阅读:562      评论:0      收藏:0      [点我收藏+]

标签:appium

package com.appium.test;

/**

* @author YuFeifei

* @version 2017年11月15日 上午11:41:21

* 类说明

* 根据读取的配置文件,将key和value拆分

* 再通过split将value分成定位类型(locatorType)和元素(locatorValue)

*/

import org.openqa.selenium.By;

public class GetByLocatorTest {

public static By getLocator(String key){

ProUtilTest properties = new ProUtilTest("./configs/test1.properties");

/**属性locator 是通过key获取的value*/

String locator = properties.getProp(key);

/**属性locatorType 获取的value中通过split分离出的>前面的数据==id、name等*/

String locatorType = locator.split(">")[0];

/**属性locatorType 获取的value中通过split分离出的>后面的数据==元素*/

String locatorValue = locator.split(">")[1];

System.out.println("获取的定位类型:" + locatorType + "\t获取的元素是:" + locatorValue);

/**根据定位类型,返回定位方式*/

if (locatorType.toLowerCase().equals("id"))//toLowerCase()将大写字符转换为小写

return By.id(locatorValue);

else if (locatorType.toLowerCase().equals("name"))

return By.name(locatorValue);

else if (locatorType.toLowerCase().equals("classname"))

return By.className(locatorValue);

else if (locatorType.toLowerCase().equals("tagname"))

return By.tagName(locatorValue);

else if (locatorType.toLowerCase().equals("linktext"))

return By.linkText(locatorValue);

else if (locatorType.toLowerCase().equals("cssselector"))

return By.cssSelector(locatorValue);

else if (locatorType.toLowerCase().equals("xpath"))

return By.xpath(locatorValue);

else

try{

throw new Exception("输入的locatorType未在预设程序中被定义:" + locatorType + "请检查GetByLocatorTest这个类");

}catch (Exception e){

e.printStackTrace();

}

return null;

}

/**测试*/

public static void main(String agrs[]){

GetByLocatorTest test2 = new GetByLocatorTest();

System.out.println(test2.getLocator("LG_NAME_PHONE"));

}


}


Java+Appium自动化测试框架(二) 定位方式

标签:appium

原文地址:http://11424700.blog.51cto.com/11414700/1981988

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!