提交 8eb635e4 authored 作者: wyl's avatar wyl

Merge branch 'master' of 192.168.1.249:ty_wyl/adaptation-master1 into wyl

# Conflicts: # pom.xml # src/main/java/com/zjty/adaptationmaster/adaptor/service/Impl/AdaptationServiceImpl.java
上级 45973a4b
package com.zjty.adaptationmaster.utils;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.*;
@Component
public class SeleniumUtils {
@Value("${driverweb}")
private String driverweb;
public WebDriver initfifox() {
System.out.println(driverweb);
System.setProperty("webdriver.gecko.driver", driverweb);// 设置驱动类型和位置
WebDriver driver = new FirefoxDriver();
return driver;
}
public String ElementAction(List<TestCase> steps) {
WebDriver driver=null;
try {
driver=initfifox();
Random random=null;
for (TestCase step : steps) {
Thread.sleep(1000);
if(step.getAction().equalsIgnoreCase("get")){
driver.get(step.getElement());
}else if(step.getAction().equalsIgnoreCase("sendkeys")){
String value = step.getValue() == null ? "" : step.getValue();
if(value.equalsIgnoreCase("random")){
random=new Random();
int i = random.nextInt(1000)+1000;
value="test"+i;
}
// driver.findElement(By.xpath(step.getElement())).sendKeys(value);
WebElement webElement = selectType(step.getMethod(), step.getElement(), driver);
webElement.sendKeys(value);
System.out.println(step.getTitle()+": "+step.getElement()+" "+step.getMethod()+" "+step.getAction()+" "+value);
}else if(step.getAction().equalsIgnoreCase("click")){
// driver.findElement(By.xpath(step.getElement())).click();
WebElement webElement = selectType(step.getMethod(), step.getElement(), driver);
webElement.click();
System.out.println(step.getTitle()+": "+step.getElement()+" "+step.getMethod()+" "+step.getAction()+" ");
}else if(step.getAction().equalsIgnoreCase("gettext")){
WebElement webElement = selectType(step.getMethod(), step.getElement(), driver);
if("errorMsg".equalsIgnoreCase(step.getElement())){
if("".equals(webElement.getText())){
System.out.println("登录成功!");
}
}else {
webElement.getText();
System.out.println(webElement.getText());
}
}else if(step.getAction().equalsIgnoreCase("readonly")){
String value = step.getValue() == null ? "" : step.getValue();
JavascriptExecutor removeAttribute = (JavascriptExecutor)driver;
//remove readonly attribute
removeAttribute.executeScript("var setDate=document.getElementById(\""+step.getElement()+"\");setDate.removeAttribute('placeholder');");
WebElement webElement = selectType(step.getMethod(), step.getElement(), driver);
webElement.sendKeys("1990-01-02");
System.out.println(step.getTitle()+": "+step.getElement()+" "+step.getMethod()+" "+step.getAction()+" "+value);
}else if(step.getAction().equalsIgnoreCase("register")){
String value = step.getValue() == null ? "" : step.getValue();
if(value.equals(driver.getCurrentUrl())){
String text = driver.findElement(By.xpath(step.getElement())).getText();
System.out.println(text);
}else {
String errorMsg = driver.findElement(By.id("errorMsg")).getText();
System.out.println(errorMsg);
}
}
}
}catch (Exception e){
System.out.println(e.getMessage());
}finally {
driver.quit();
if(driver!=null){
driver=null;
}
}
return null;//目前没有用,预留返回字段
}
private WebElement selectType(String method, String element, WebDriver driver) {
WebElement element1=null;
if(method.equalsIgnoreCase("xpath")){
element1 = driver.findElement(By.xpath(element));
}else if(method.equalsIgnoreCase("css")){
element1=driver.findElement(By.cssSelector(element));
}else if(method.equalsIgnoreCase("id")){
element1=driver.findElement(By.id(element));
}else if(method.equalsIgnoreCase("name")){
element1=driver.findElement(By.name(element));
}
return element1;
}
}
package com.zjty.adaptationmaster.utils;
import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>Description : assess
* <p>Date : 2020/1/3 17:04
* <p>@author : C
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TestCase {
/**
* 标题
*/
@Excel(name = "用例标题")
private String title;
/**
* 前置条件
*/
@Excel(name = "前置条件")
private String condition;
/**
* 步骤
*/
@Excel(name = "步骤")
private String step;
/**
* 元素
*/
@Excel(name = "元素")
private String element;
/**
* 方式
*/
@Excel(name = "方式")
private String method;
/**
* 对象
*/
@Excel(name = "对象")
private String obj;
/**
* 动作
*/
@Excel(name = "动作")
private String action;
@Excel(name = "参数")
private String value;
/**
* 期望
*/
@Excel(name = "期望")
private String respect;
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论