Commit 77052a56 authored by 钱雯君's avatar 钱雯君

add

parents 16ae2c84 e51e08f1
...@@ -311,6 +311,7 @@ ...@@ -311,6 +311,7 @@
<run>${run}</run> <run>${run}</run>
<maxRetryCount>0</maxRetryCount> <maxRetryCount>0</maxRetryCount>
<ServiceDoctor>false</ServiceDoctor> <ServiceDoctor>false</ServiceDoctor>
<Server>false</Server>
</systemPropertyVariables> </systemPropertyVariables>
</configuration> </configuration>
......
...@@ -17,9 +17,11 @@ public class DuibaBase extends AbstractTestNGSpringContextTestsDuiba { ...@@ -17,9 +17,11 @@ public class DuibaBase extends AbstractTestNGSpringContextTestsDuiba {
public MysqlConnPool jdbc; public MysqlConnPool jdbc;
public DuibaLog logger = DuibaLog.getLogger(); public DuibaLog logger = DuibaLog.getLogger();
// @PostConstruct // @PostConstruct
@BeforeSuite @BeforeSuite
public void setUp() { public final void setUp() {
logger.info("--------------------DuibaBase.setUp()"); logger.info("--------------------DuibaBase.setUp()");
//只初始化一次 //只初始化一次
jdbc.initDataSource(); jdbc.initDataSource();
......
package base;
import com.codeborne.selenide.WebDriverRunner;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.By;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.annotations.*;
import ui.common.ProxyFactory;
import ui.common.WebDriverFactory;
import ui.common.WebDriverType;
import java.io.File;
import java.io.IOException;
import java.util.Set;
import static com.codeborne.selenide.Selenide.$;
/**
* Created by mabo on 2018/11/20
*/
public class DuibaBaseUi extends DuibaBase{
RemoteWebDriver driver= WebDriverFactory.createWebDriver(WebDriverType.MOBLIE, ProxyFactory.createProxy());
public ITestResult result;
public void switchChrome(){
WebDriverRunner.closeWebDriver();
driver= WebDriverFactory.createWebDriver(WebDriverType.CHRMOE, ProxyFactory.createProxy());
WebDriverRunner.setWebDriver(driver);
}
public void switchMobile(){
WebDriverRunner.closeWebDriver();
driver= WebDriverFactory.createWebDriver(WebDriverType.MOBLIE, ProxyFactory.createProxy());
WebDriverRunner.setWebDriver(driver);
}
@BeforeClass
public final void init(){
WebDriverRunner.setWebDriver(driver);
}
@BeforeMethod(alwaysRun = true)
public final void beforeMethodInit(ITestResult result) throws Exception {
Reporter.setCurrentTestResult(result);
this.result=result;
}
@AfterMethod(alwaysRun = true)
public final void afterMethodScreenshot() throws Exception {
if (!result.isSuccess())
screenshot();
}
public final void screenshot() throws IOException {
boolean ev=Boolean.parseBoolean(System.getProperty("Server"));
String path=null;
String url=null;
if(ev){
File file = new File("C:\\image");
path = file.getAbsolutePath()+"\\";
url = "http://172.16.80.106/";
}else{
File file = new File(" ");
path = file.getAbsolutePath();
url = file.getAbsolutePath();
}
Reporter.log("ev:"+ev);
Reporter.log("path:"+path);
Reporter.log("url:"+url);
Reporter.setCurrentTestResult(result);
// Reporter.log(file.getAbsolutePath());
String time = String.valueOf(System.currentTimeMillis());
Reporter.log("<img src='" + url + result.getName() +"_"+time+ ".jpg' hight='800' width='600' onclick=\"window.open('"+url + result.getName() +"_"+time+ ".jpg"+"')\" />");//"http://172.16.80.106"
File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //执行屏幕截取
FileUtils.copyFile(srcFile, new File(path + result.getName() +"_"+time+ ".jpg"));
}
@AfterClass
public final void close(){
WebDriverRunner.closeWebDriver();
}
/**
* 等待
* @param time 秒
*/
public final void sleep(int time){
try {
Thread.sleep(time*1000);
logger.info("sleep:"+time);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 点击通过text(),等于
* @param name
* @throws Exception
*/
public final void clickByTextEqual(String name) throws Exception{
String xpath = "//*[text()='"+name+"']";
int i=5;
while(i>0){
try {
$(By.xpath(xpath)).click();
logger.info("ByXpath:"+xpath+" click");
return;
} catch (Exception e) {
// TODO: handle exception
sleep(1);
i--;
if(i==0)throw e;
}
}
}
/**
* 点击通过text(),等于
* @param name
* @throws Exception
*/
public final void clickByClass(String name) throws Exception{
String xpath = "//*[@class='"+name+"']";
int i=5;
while(i>0){
try {
driver.findElementByXPath(xpath).click();
logger.info("xpath:"+xpath+" click");
return;
} catch (Exception e) {
// TODO: handle exception
sleep(1);
i--;
if(i==0)throw e;
}
}
}
/**
* 点击,通过属性,包含
* @param atttibut
* @param name
* @param tag
* @throws Exception
*/
public void clickByContainsAttribut(String atttibut,String name,String tag) throws Exception{
String xpath = "//"+tag+"[contains(@"+atttibut+",'"+name+"')]";
int i=3;
while(i>0){
try {
System.out.println(i);
driver.findElementByXPath(xpath).click();
logger.info("ByXpath:"+xpath+" click");
return;
} catch (Exception e) {
// TODO: handle exception
sleep(1);
i--;
if(i==0)throw e;
}
}
}
/**
* 切换窗口
*/
public void switchWindow(){
String handle = null;
Set<String> handles=driver.getWindowHandles();
for(String hand:handles) handle=hand;
driver.switchTo().window(handle);
}
}
...@@ -95,7 +95,7 @@ public class CustomActivity_DuibaTest extends DuibaTestBase { ...@@ -95,7 +95,7 @@ public class CustomActivity_DuibaTest extends DuibaTestBase {
String androidDL = MatcherString.getString(ManagerResponse.asString(), "androidurl: '(.*?)',", 1); String androidDL = MatcherString.getString(ManagerResponse.asString(), "androidurl: '(.*?)',", 1);
String iOSDL = MatcherString.getString(ManagerResponse.asString(), "iosurl: '(.*?)',", 1); String iOSDL = MatcherString.getString(ManagerResponse.asString(), "iosurl: '(.*?)',", 1);
String usebtn = MatcherString.getString(ManagerResponse.asString(), "usebtn: '(.*?)',", 1); String usebtn = MatcherString.getString(ManagerResponse.asString(), "usebtn: '(.*?)',", 1);
String actLinkEx = "//activity.m.duibatest.com.cn/crecord/recordDetailNew/"; String actLinkEx = "//activity.m.duibatest.com.cn/crecord/recordDetailNew";
String linkUrl = MatcherString.getString(LinkResponse.asString(), "target=\"_blank\" href=\"(.*?)\">", 1); String linkUrl = MatcherString.getString(LinkResponse.asString(), "target=\"_blank\" href=\"(.*?)\">", 1);
//进行接口测试传参 //进行接口测试传参
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
import base.DuibaTestBase; import base.DuibaTestBase;
...@@ -15,7 +15,7 @@ import org.testng.annotations.Test; ...@@ -15,7 +15,7 @@ import org.testng.annotations.Test;
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 修改兑吧商品 extends DuibaTestBase { public class 修改兑吧商品_ExchangeTest extends DuibaTestBase {
@Autowired @Autowired
DoUpdateAppItemService doUpdateAppItemService; DoUpdateAppItemService doUpdateAppItemService;
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
import utils.PublicMethod; import utils.PublicMethod;
...@@ -19,7 +19,7 @@ import org.testng.annotations.Test; ...@@ -19,7 +19,7 @@ import org.testng.annotations.Test;
*/ */
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 商品管理操作_DuibaTest extends AbstractTestNGSpringContextTests { public class 商品管理操作_ExchangeTest extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
SpglczService czService; SpglczService czService;
@Autowired @Autowired
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
import base.DuibaTestBase; import base.DuibaTestBase;
...@@ -21,7 +21,7 @@ import java.util.Map; ...@@ -21,7 +21,7 @@ import java.util.Map;
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 异常订单测试 extends DuibaTestBase { public class 异常订单测试_ExchangeTest extends DuibaTestBase {
@Autowired @Autowired
private MobileService mobileService; private MobileService mobileService;
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
...@@ -16,7 +16,7 @@ import org.testng.annotations.Test; ...@@ -16,7 +16,7 @@ import org.testng.annotations.Test;
* 自有优惠券添加、修改、删除、上架或下架、查询操作 * 自有优惠券添加、修改、删除、上架或下架、查询操作
*/ */
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 自有优惠券测试_DuibaTest extends AbstractTestNGSpringContextTests { public class 自有优惠券测试_ExchangeTest extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
DeveloperObjectService developerObjectService; DeveloperObjectService developerObjectService;
@Autowired @Autowired
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
import utils.PublicMethod; import utils.PublicMethod;
...@@ -17,7 +17,7 @@ import org.testng.annotations.Test; ...@@ -17,7 +17,7 @@ import org.testng.annotations.Test;
* @author wangxiaoshuang * @author wangxiaoshuang
*/ */
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 自有实物测试_DuibaTest extends AbstractTestNGSpringContextTests { public class 自有实物测试_ExchangeTest extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
DeveloperObjectService objectService; DeveloperObjectService objectService;
......
package http.cases.SaasDeveloperTest; package http.cases.GoodsAndTradeTest;
import base.Config; import base.Config;
import utils.PublicMethod; import utils.PublicMethod;
...@@ -15,7 +15,7 @@ import org.testng.annotations.Test; ...@@ -15,7 +15,7 @@ import org.testng.annotations.Test;
* 自有虚拟商品添加、修改、删除、上架或下架、查询操作 * 自有虚拟商品添加、修改、删除、上架或下架、查询操作
*/ */
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 自有虚拟商品测试_DuibaTest extends AbstractTestNGSpringContextTests { public class 自有虚拟商品测试_ExchangeTest extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
DeveloperVirtualService developerVirtualService; DeveloperVirtualService developerVirtualService;
@Autowired @Autowired
......
...@@ -54,7 +54,7 @@ public class 优惠券测试_DuibaTest extends AbstractTestNGSpringContextTests ...@@ -54,7 +54,7 @@ public class 优惠券测试_DuibaTest extends AbstractTestNGSpringContextTests
String androidDL = MatcherString.getString(ManagerResponse.asString(), "androidurl: '(.*?)',", 1); String androidDL = MatcherString.getString(ManagerResponse.asString(), "androidurl: '(.*?)',", 1);
String iOSDL = MatcherString.getString(ManagerResponse.asString(), "iosurl: '(.*?)',", 1); String iOSDL = MatcherString.getString(ManagerResponse.asString(), "iosurl: '(.*?)',", 1);
String actusebtn = MatcherString.getString(ManagerResponse.asString(), "usebtn: '(.*?)',", 1); String actusebtn = MatcherString.getString(ManagerResponse.asString(), "usebtn: '(.*?)',", 1);
String actLinkEx = "//activity.m.duibatest.com.cn/crecord/recordDetailNew/"; String actLinkEx = "//activity.m.duibatest.com.cn/crecord/recordDetailNew";
String linkUrl = MatcherString.getString(LinkResponse.asString(), "target=\"_blank\" href=\"(.*?)\">", 1); String linkUrl = MatcherString.getString(LinkResponse.asString(), "target=\"_blank\" href=\"(.*?)\">", 1);
//获取管理员后台优惠券库存 //获取管理员后台优惠券库存
......
...@@ -32,6 +32,7 @@ public class 谢谢参与测试_DuibaTest extends DuibaTestBase { ...@@ -32,6 +32,7 @@ public class 谢谢参与测试_DuibaTest extends DuibaTestBase {
Assert.assertEquals(response.jsonPath().getString("lottery.type"), "thanks", "校验类型失败"); Assert.assertEquals(response.jsonPath().getString("lottery.type"), "thanks", "校验类型失败");
Assert.assertEquals(response.jsonPath().getString("lottery.id").isEmpty(), false, "校验id失败"); Assert.assertEquals(response.jsonPath().getString("lottery.id").isEmpty(), false, "校验id失败");
Assert.assertNotNull(response.jsonPath().getString("lottery.id"),"校验id失败");
//校验返回字段 //校验返回字段
Assert.assertEquals(response.asString().contains("id"),true,"校验id失败"); Assert.assertEquals(response.asString().contains("id"),true,"校验id失败");
logger.info("校验type,id成功"); logger.info("校验type,id成功");
......
...@@ -74,6 +74,7 @@ public class pk_开奖_瓜分红包测试 extends DuibaTestBase { ...@@ -74,6 +74,7 @@ public class pk_开奖_瓜分红包测试 extends DuibaTestBase {
//注意初始化的方法不能与父类的相同,会被覆盖住 //注意初始化的方法不能与父类的相同,会被覆盖住
public void setUpPkActivity() { public void setUpPkActivity() {
try { try {
createPk("2","2020-08-12 00:00:00",groupId); createPk("2","2020-08-12 00:00:00",groupId);
}catch (Exception e){ }catch (Exception e){
......
package http.cases.SaasDeveloperTest; package http.cases.SignTest;
import base.Config; import base.Config;
import http.service.Saas.SignService; import http.service.Saas.SignService;
...@@ -16,7 +16,7 @@ import org.testng.annotations.Test; ...@@ -16,7 +16,7 @@ import org.testng.annotations.Test;
@ContextConfiguration(classes = Config.class) @ContextConfiguration(classes = Config.class)
public class 签到管理_DuibaTest extends AbstractTestNGSpringContextTests { public class 开发者签到管理_signTest extends AbstractTestNGSpringContextTests {
@Autowired @Autowired
SignService signService; SignService signService;
......
...@@ -30,9 +30,10 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{ ...@@ -30,9 +30,10 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{
//指定用户 //指定用户
private static int uid = 4689; private static int uid = 4689;
private static int uid2 = 4552; private static int uid2 = 4552;
private static int uid3 = 3590;
private static int uid4 = 4386;
@Test @Test
public void 出券开关校验_() throws Exception { public void 出券衰减开关校验_() throws Exception {
//dafuweng登陆获取cookies //dafuweng登陆获取cookies
Map cookies = authorization.dafuwengLogin(uid); Map cookies = authorization.dafuwengLogin(uid);
//校验种红包配置 //校验种红包配置
...@@ -58,11 +59,12 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{ ...@@ -58,11 +59,12 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{
logger.info("种红包的红包配置接口校验正确"); logger.info("种红包的红包配置接口校验正确");
} }
@Test @Test
public void 出券开关校验_() throws Exception { public void 出券衰减开关校验_() throws Exception {
//dafuweng登陆获取cookies //dafuweng登陆获取cookies
Map cookies = authorization.dafuwengLogin(uid2); Map cookies = authorization.dafuwengLogin(uid2);
//校验种红包配置 //校验种红包配置
...@@ -81,4 +83,53 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{ ...@@ -81,4 +83,53 @@ public class 种红包配置校验_AccessTest extends DuibaTestBase{
logger.info("种红包的红包配置接口校验正确"); logger.info("种红包的红包配置接口校验正确");
} }
@Test
public void 流量策略打开校验() throws Exception {
//dafuweng登陆获取cookies
Map cookies = authorization.dafuwengLogin(uid3);
//校验种红包配置
Response response = seedRedPacketService.getExtConfig(cookies);
response.prettyPrint();
String adPositions = response.jsonPath().getString("data.adPositions");
String adSwitch = response.jsonPath().getString("data.adSwitch");
String decrBeginTime = response.jsonPath().getString("data.decrBeginTime");
String decrSwitch = response.jsonPath().getString("data.decrSwitch");
Assert.assertNull(adPositions,"发券位置校验异常");
Assert.assertEquals(adSwitch,"false","种红包开关校验异常");
Assert.assertEquals(decrSwitch,"false","种红包衰减开关校验异常");
Assert.assertNull(decrBeginTime,"衰减时间校验异常");
logger.info("种红包的红包配置接口校验正确");
}
@Test
public void 衰减红包校验() throws Exception {
//dafuweng登陆获取cookies
Map cookies = authorization.dafuwengLogin(uid4);
//调用种植seed
Response response = seedRedPacketService.seed(cookies,"1","424","1");
//种子号
String orderId = response.jsonPath().getString("data.orderNum");
Assert.assertNotNull(orderId,"订单号为空");
logger.info("红包订单为:"+orderId);
//红包衰减
Thread.sleep(65000);
//获取种植结果状态getOrderStatus,异步接口,while循环,status为2处理完成,1处理中
response = seedRedPacketService.getOrderStatus(cookies,orderId);
String status = response.jsonPath().getString("data");
int i =5;
while(i>0&&status.equals("1")){
response = seedRedPacketService.getOrderStatus(cookies,orderId);
status = response.jsonPath().getString("data");
i--;
}
//获取种植获得金额
response = seedRedPacketService.reap(cookies,"1",orderId);
response.prettyPrint();
String isDecr = response.jsonPath().getString("data.isDecr");
Assert.assertEquals(isDecr,"true","红包衰减标识校验失败");
}
} }
package ui.cases.Exchange;
import base.DuibaBaseUi;
import org.openqa.selenium.By;
import org.testng.annotations.Test;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
/**
* Created by mabo on 2018/11/21
*/
public class 优惠券_ExchangeTest_ui extends DuibaBaseUi{
@Test
public void 优惠券兑换_正常流程() throws Exception {
open("http://47.97.214.108/user/index");
clickByTextEqual("4762");
switchWindow();
sleep(2);
clickByClass("btn-close");
screenshot();
clickByTextEqual("ui自动化-优惠券");
screenshot();
clickByTextEqual("马上兑换");
screenshot();
clickByTextEqual("确定");
screenshot();
sleep(5);
screenshot();
}
}
package ui.cases.Exchange;
import base.DuibaBaseUi;
import org.testng.annotations.Test;
import static com.codeborne.selenide.Selenide.open;
/**
* Created by mabo on 2018/11/22
*/
public class 实物_ExchangeTest_ui extends DuibaBaseUi{
@Test
public void 实物兑换_正常流程() throws Exception {
open("http://47.97.214.108/user/index");
clickByTextEqual("4762");
switchWindow();
sleep(2);
clickByClass("btn-close");
screenshot();
clickByTextEqual("ui自动化-实物");
screenshot();
clickByTextEqual("马上兑换");
screenshot();
clickByTextEqual("确定");
screenshot();
sleep(5);
screenshot();
}
}
package ui.cases.Exchange;
import base.DuibaBaseUi;
import org.testng.annotations.Test;
import static com.codeborne.selenide.Selenide.open;
/**
* Created by mabo on 2018/11/22
*/
public class 支付宝_ExchangeTest_ui extends DuibaBaseUi{
@Test
public void 支付宝_正常流程() throws Exception {
open("http://47.97.214.108/user/index");
clickByTextEqual("4762");
switchWindow();
sleep(2);
clickByClass("btn-close");
screenshot();
clickByTextEqual("支付宝充值");
screenshot();
clickByTextEqual("马上兑换");
screenshot();
clickByTextEqual("确定");
screenshot();
sleep(5);
screenshot();
}
}
package ui.cases; package ui.cases;
import base.DuibaBaseUi;
import base.DuibaLog; import base.DuibaLog;
import com.codeborne.selenide.WebDriverRunner; import com.codeborne.selenide.WebDriverRunner;
import com.codeborne.selenide.testng.ScreenShooter; import com.codeborne.selenide.testng.ScreenShooter;
...@@ -32,9 +33,9 @@ import static com.codeborne.selenide.Selenide.open; ...@@ -32,9 +33,9 @@ import static com.codeborne.selenide.Selenide.open;
* Created by mabo on 2018/10/18 * Created by mabo on 2018/10/18
*/ */
//@Listeners({ ScreenShooter.class}) //@Listeners({ ScreenShooter.class})
public class test { public class test extends DuibaBaseUi {
// StatusCheckor checkor=new StatusCheckor(); // StatusCheckor checkor=new StatusCheckor();
WebDriver driver= WebDriverFactory.createWebDriver(WebDriverType.CHRMOE, ProxyFactory.createProxy()); // WebDriver driver= WebDriverFactory.createWebDriver(WebDriverType.CHRMOE, ProxyFactory.createProxy());
@Test @Test
...@@ -42,10 +43,14 @@ public class test { ...@@ -42,10 +43,14 @@ public class test {
ScreenShooter.captureSuccessfulTests = true; ScreenShooter.captureSuccessfulTests = true;
//StatusCheckor checkor=new StatusCheckor(); //StatusCheckor checkor=new StatusCheckor();
// ProxyFactory.addCheckor(checkor); // ProxyFactory.addCheckor(checkor);
WebDriverRunner.setWebDriver(driver); // WebDriverRunner.setWebDriver(driver);
open("https://www.baidu.com"); open("https://www.baidu.com");
Reporter.log("----------------------");
screenshot();
Reporter.log("----------------------");
$(By.id("kw")).setValue("selenium"); $(By.id("kw")).setValue("selenium");
Assert.assertEquals(1,2); Assert.assertEquals(1,2);
...@@ -58,7 +63,7 @@ public class test { ...@@ -58,7 +63,7 @@ public class test {
} }
@Test @Test
public void test1(){ public void test1(){
Reporter.log("rererfddfdfdfdfdfdf"); open("https://www.biying.com");
Reporter.log("rererfddfdfdfdfdfdf"); Reporter.log("rererfddfdfdfdfdfdf");
Reporter.log("rererfddfdfdfdfdfdf"); Reporter.log("rererfddfdfdfdfdfdf");
Reporter.log("rererfddfdfdfdfdfdf"); Reporter.log("rererfddfdfdfdfdfdf");
...@@ -79,25 +84,25 @@ public class test { ...@@ -79,25 +84,25 @@ public class test {
} }
@AfterMethod(alwaysRun = true) // @AfterMethod(alwaysRun = true)
public void afterMethod(ITestResult result) throws Exception { // public void afterMethod(ITestResult result) throws Exception {
if (!result.isSuccess()) // if (!result.isSuccess())
catchExceptions(result); // catchExceptions(result);
} // }
public void catchExceptions(ITestResult result) throws IOException { // public void catchExceptions(ITestResult result) throws IOException {
File file = new File("C:/image"); // File file = new File("C:/image");
Reporter.setCurrentTestResult(result); // Reporter.setCurrentTestResult(result);
Reporter.log(file.getAbsolutePath()); // Reporter.log(file.getAbsolutePath());
String time = String.valueOf(System.currentTimeMillis()); // String time = String.valueOf(System.currentTimeMillis());
Reporter.log("<img src='" + "http://172.16.80.106" + "/" + result.getName() +"_"+time+ ".jpg' hight='600' width='600'/>"); // Reporter.log("<img src='" + "http://172.16.80.106" + "/" + result.getName() +"_"+time+ ".jpg' hight='600' width='600'/>");
File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //执行屏幕截取 // File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //执行屏幕截取
FileUtils.copyFile(srcFile, new File(file.getAbsolutePath() + "/" + result.getName() +"_"+time+ ".jpg")); // FileUtils.copyFile(srcFile, new File(file.getAbsolutePath() + "/" + result.getName() +"_"+time+ ".jpg"));
//
} // }
//
public static void main(String[] args) { // public static void main(String[] args) {
System.out.println(System.currentTimeMillis()); // System.out.println(System.currentTimeMillis());
System.out.println(Calendar.getInstance().getTimeInMillis()); // System.out.println(Calendar.getInstance().getTimeInMillis());
System.out.println(new Date().getTime()); // System.out.println(new Date().getTime());
} // }
} }
package ui.cases;
import base.DuibaBaseUi;
import com.codeborne.selenide.testng.ScreenShooter;
import org.openqa.selenium.By;
import org.testng.Assert;
import org.testng.annotations.Test;
import java.io.IOException;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
/**
* Created by mabo on 2018/11/21
*/
public class uitest extends DuibaBaseUi{
@Test
public void 中文1() throws IOException {
ScreenShooter.captureSuccessfulTests = true;
//StatusCheckor checkor=new StatusCheckor();
// ProxyFactory.addCheckor(checkor);
// WebDriverRunner.setWebDriver(driver);
open("https://www.biying.com");
$(By.id("kw")).setValue("selenium");
Assert.assertEquals(1,2);
// SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); //转换时间格式
// String time = dateFormat.format(Calendar.getInstance().getTime()); //获取当前时间
}
}
...@@ -3,14 +3,18 @@ package ui.common; ...@@ -3,14 +3,18 @@ package ui.common;
import org.openqa.selenium.Proxy; import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.logging.LogType; import org.openqa.selenium.logging.LogType;
import org.openqa.selenium.logging.LoggingPreferences; import org.openqa.selenium.logging.LoggingPreferences;
import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.CapabilityType;
import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.safari.SafariDriver; import org.openqa.selenium.safari.SafariDriver;
import java.io.File; import java.io.File;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Level; import java.util.logging.Level;
...@@ -49,23 +53,25 @@ public class WebDriverFactory { ...@@ -49,23 +53,25 @@ public class WebDriverFactory {
} }
return browser; return browser;
} }
public static WebDriver createWebDriver(WebDriverType driverType,Proxy proxy){ public static RemoteWebDriver createWebDriver(WebDriverType driverType,Proxy proxy){
// configure it as a desired capability
DesiredCapabilities capabilities = new DesiredCapabilities(); DesiredCapabilities capabilities = new DesiredCapabilities();
//capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS,true); // capabilities.setCapability(CapabilityType.PROXY, proxy);
capabilities.setCapability(CapabilityType.PROXY, proxy);
LoggingPreferences logPrefs = new LoggingPreferences(); LoggingPreferences logPrefs = new LoggingPreferences();
logPrefs.enable(LogType.BROWSER, Level.ALL); logPrefs.enable(LogType.BROWSER, Level.ALL);
capabilities.setCapability(CapabilityType.LOGGING_PREFS,logPrefs); capabilities.setCapability(CapabilityType.LOGGING_PREFS,logPrefs);
capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE,false); capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE,false);
capabilities.setCapability(CapabilityType.SUPPORTS_LOCATION_CONTEXT,false); capabilities.setCapability(CapabilityType.SUPPORTS_LOCATION_CONTEXT,false);
capabilities.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE,false); capabilities.setCapability(CapabilityType.SUPPORTS_WEB_STORAGE,false);
final ChromeOptions chromeOptions = new ChromeOptions();
Map<String, String> mobileEmulation = new HashMap<String, String>();
mobileEmulation.put("deviceName", "Nexus 5");
chromeOptions.setExperimentalOption("mobileEmulation", mobileEmulation);
Properties prop = System.getProperties(); Properties prop = System.getProperties();
String OS = prop.getProperty("os.name"); String OS = prop.getProperty("os.name");
boolean bl=OS.startsWith("Mac"); boolean bl=OS.startsWith("Mac");
String basePath=WebDriverType.class.getClassLoader().getResource("").getPath(); String basePath=WebDriverType.class.getClassLoader().getResource("").getPath();
WebDriver browser=null; RemoteWebDriver browser=null;
String driverPath=null; String driverPath=null;
switch (driverType){ switch (driverType){
case CHRMOE: case CHRMOE:
...@@ -81,6 +87,18 @@ public class WebDriverFactory { ...@@ -81,6 +87,18 @@ public class WebDriverFactory {
browser=new ChromeDriver(capabilities); browser=new ChromeDriver(capabilities);
break; break;
case MOBLIE:
if(bl){
driverPath=basePath+"chromedriver";
}else {
driverPath=basePath+"chromedriver.exe";
}
System.setProperty("webdriver.chrome.driver",driverPath);
//add x
new File(driverPath).setExecutable(true);
browser=new ChromeDriver(chromeOptions);
break;
case FIREFOX: case FIREFOX:
browser=new FirefoxDriver(capabilities); browser=new FirefoxDriver(capabilities);
break; break;
......
...@@ -4,5 +4,5 @@ package ui.common; ...@@ -4,5 +4,5 @@ package ui.common;
* Created by mabo on 2018/11/13 * Created by mabo on 2018/11/13
*/ */
public enum WebDriverType { public enum WebDriverType {
CHRMOE,FIREFOX,SAFARI; CHRMOE,FIREFOX,SAFARI,MOBLIE;
} }
...@@ -24,7 +24,7 @@ trade.host = activity.m.duibatest.com.cn ...@@ -24,7 +24,7 @@ trade.host = activity.m.duibatest.com.cn
//\u6570\u636E\u5E93\u914D\u7F6E //\u6570\u636E\u5E93\u914D\u7F6E
db.name = duiba_test db.name = duiba_test
db.password= svbP3KUw2PurAnBb2rbs3vohF db.password= svbP3KUw2PurAnBb2rbs3vohF
db.url = jdbc:mysql://rdswy2b9wy53044250u1o.mysql.rds.aliyuncs.com:3306/ db.url = jdbc:mysql://rdswy2b9wy53044250u1o.mysql.rds.aliyuncs.com:3306/?tinyInt1isBit=false
db.driver= com.mysql.cj.jdbc.Driver db.driver= com.mysql.cj.jdbc.Driver
db.maxtotal = 6 db.maxtotal = 6
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment