一、java + selenium 代码编写:
具体代码设计步骤参考:Selenium2.0 自动化测试代码封装
二、testng 基本用法和编写一个testmg.xml文件运行;
package com.dangjian.selenium.testCase;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.AfterSuite;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.BeforeSuite;
import org.testng.annotations.Test;
import org.testng.log4testng.Logger;
import com.dangjian.selenium.base.DriverBase;
import com.dangjian.selenium.business.LoginPro;
import com.dangjian.selenium.business.addAnnouncementPro;
import com.dangjian.selenium.business.getIntoBackendPro;
import com.dangjian.selenium.business.organizationalActivityPro;
import com.dangjian.selenium.business.questionnairePro;
import com.dangjian.selenium.business.signOutPro;
import com.dangjian.selenium.business.voteElectionPro;
public class login extends CaseBase {
public DriverBase driver;
public LoginPro loginpro;
public addAnnouncementPro announcementPro;
public getIntoBackendPro gitbp;
public voteElectionPro voteep;
public signOutPro signoutpro;
public questionnairePro questionnairepro;
public organizationalActivityPro organizationalactivitypro;
static Logger logger = Logger.getLogger(login.class);
public login(){
this.driver = InitDriver("ChromeDriver");
loginpro = new LoginPro(driver);
announcementPro = new addAnnouncementPro(driver);
gitbp = new getIntoBackendPro(driver);
voteep = new voteElectionPro(driver);
signoutpro = new signOutPro(driver);
questionnairepro = new questionnairePro(driver);
organizationalactivitypro = new organizationalActivityPro(driver);
}
@BeforeSuite
public void getLoginHome(){
driver.get("http://XXX/login.html");
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
@BeforeMethod
public void testLogin() throws Exception{
logger.debug("这是第一次使用Log4j打印日志~~~~~~~~~~~~~~~~~~~~");
loginpro.login("XXX", "XXX");
}
/*@Test
public void getIntoBackend() throws Exception {
gitbp.getIntoAddAnnouncement();
}
//新增通知公告
@Test
public void addAnnouncement() throws Exception {
announcementPro.addAnnouncement("自动化新增通知公告", "自动化新增通知公告内容");
Thread.sleep(3000);
}
//新增投票选举
@Test
public void addVoteElection() throws Exception {
voteep.addVoteElection("自动化选择Java还是Python", "Java", "1");
}
//新增调查问卷
@Test
public void questionnaire() throws Exception {
String title = "缔科网络科技关于体检的调查问卷";
String Introduction = "关心员工身体健康";
String NameOfProblem = "是否支持体检?";
String OptionData= "支持体检,不支持";
questionnairepro.questionnaire(title, Introduction, NameOfProblem, OptionData);
}*/
//新增组织活动
@Test
public void organizationalActivity() throws Exception {
String title = "缔科网络科技去秦岭山旅游";
String Address = "翠华山国家地质公园";
String BriefIntroduction = "休闲娱乐度假健康运动";
String Introduction = "翠华山和终南山";
organizationalactivitypro.organizationalActivity(title, Address, BriefIntroduction, Introduction);
}
@AfterMethod
public void signOut() throws Exception {
Thread.sleep(2000);
signoutpro.signOut();
}
@AfterSuite
public void close() {
driver.stop();
}
}
testmg.xml文件运行
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test thread-count="5" name="Test">
<classes>
<class name="com.dangjian.selenium.testCase.login"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
三、maven作用:下载包和编译
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jingzhaopan</groupId>
<artifactId>selenium</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>selenium</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.11</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.8.0</source>
<target>1.8.0</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<inherited>true</inherited>
<configuration>
<suiteXmlFiles>
<suiteXMLfile>testng.xml</suiteXMLfile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
</project>
四、测试结果:
1、生成报告:
2、jenkins 自动持续集成;
配置jdk 和 maven ;
配置插件;
创建一个任务:
系统管理中找到插件管理Maven Integration plugin;
如果没有安装需要在可选插件中安装;
新建;
输入名称;
构建一个maven 项目名称;
描述:
源码管理: 日程表 分钟 小时 日期 每月 每个星期
8 20 * * *(每天的20:08执行)
在Build 中 Root Pom 中配置绝对路径+pom.xml;
如果有需要在配置邮件发送。
五、git 代码管理:
在命令行中输入git init ,使文件全部添加到git
在命令行中输入git status
在命令行中输入 git add .
在命令行中输入 git commit –m “”
在命令行中输入 git remote add origin github项目网址
在命令行中输入 git push –u origin master
最后输入用户名和密码上传成功。