关灯
开启左侧

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

[复制链接]
Vecloud 发表于 2022-5-12 14:05:54 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
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"));

}

}
 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


0关注

0粉丝

107帖子

热门图文
热门帖子
排行榜
作者专栏

关注我们:微信订阅号

官方微信

APP下载

全国服务Q Q:

956130084

中国·湖北

Email:956130084@qq.com

Copyright   ©2015-2022  站长技术交流论坛|互联网技术交流平台Powered by©Discuz!技术支持:得知网络  

鄂公网安备 42018502006730号

  ( 鄂ICP备15006301号-5 )