package org.sky.auto.xml;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
import org.openqa.selenium.By;
import org.sky.auto.exception.MyElementNotFoundException;
public class XmlToJavaTools {
static Logger logger = Logger.getLogger(XmlToJavaTools.class);
public Map<By,Integer> by(String by,String selector,int index){
Map<By,Integer> byMap= new HashMap<By,Integer>();
By b=null;
if(by.toLowerCase().equals("id")){
b = By.id(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("css")){
b = By.cssSelector(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("tagname")){
b = By.tagName(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("class")){
b=By.className(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("xpath")){
b=By.xpath(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("linktext")){
b=By.linkText(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("name")){
b=By.name(selector);
byMap.put(b, index);
}else if(by.toLowerCase().equals("partiallinktext")){
b=By.partialLinkText(selector);
byMap.put(b, index);
}else{
logger.error(by+"这种定位方式没有被找到!");
throw new MyElementNotFoundException("["+by+"]这种定位方式没有被找到!");
}
return byMap;
}
public By locator(String by,String selector){
By b=null;
if(by.toLowerCase().equals("id")){
b = By.id(selector);
}else if(by.toLowerCase().equals("css")){
b = By.cssSelector(selector);
}else if(by.toLowerCase().equals("tagname")){
b = By.tagName(selector);
}else if(by.toLowerCase().equals("class")){
b=By.className(selector);
}else if(by.toLowerCase().equals("xpath")){
b=By.xpath(selector);
}else if(by.toLowerCase().equals("linktext")){
b=By.linkText(selector);
}else if(by.toLowerCase().equals("name")){
b=By.name(selector);
}else if(by.toLowerCase().equals("partiallinktext")){
b=By.partialLinkText(selector);
}else{
throw new MyElementNotFoundException("["+by+"]这种定位方式没有被找到!");
}
return b;
}
}