Jenkins安裝與配置
安裝方式:
- 直接使用命令安裝 brew install jenkins
- 官網下載https://jenkins.io/download/ 安裝包直接安裝
安裝完成后,直接http://localhost:8080 訪問,第一次訪問會提示設置用戶名、密碼進行登錄
jenkins配置
1. 安裝maven、testNG、git、selenium插件
jenkins主頁>Manage Jenkins>Manage Plugins,第一次進來Available標簽中都顯示為空,這時切換到Advanced標簽中手動進行check,會報錯無可用的插件
解決方式:把原來的https改成http,再次進行check即可列出所有的插件,搜索所需插件安裝即可!
2. 配置java/maven/git環境變量
jenkins主頁>Glboal Tool Configuration
* JDK JAVA_HOME
- Maven_Home
如果不知道配置路徑,可用使用mvn -v查看
- git
可以在命令行中輸入which git 查找安裝路徑
郵件服務配置
- jenkins內置的郵件功能
- 使用插件擴展的郵件功能(這次不寫)
1、jenkins內置郵件配置(以163郵箱為例)
Manage Jenkins >Configure System 找到Jenkins Locaction項Jenkins URL和系統管理員郵件地址,統管理員郵件地址一定要配置,否則發不了郵件通知。
image.png
找到郵件通知項,填入SMTP服務器信息及用戶名、密碼等認證信息
image.png
最后可以勾選“Test configuration by sending test e-mail”輸入接收地址,看是否發送成功。
2、對構建的job 添加郵件發送的步驟
在項目的設置中,找到Add build setp>添加E-amil Notification
image.png
項目創建
1、New Item 創建maven項目
2、本地代碼提交到github上,如圖需要配置git上的用戶名、密碼以及代碼git地址
3、使用maven clean test 命令執行測試用例
4、完成后,進行build查看日志會發現始終不會啟動瀏覽器,在本地運行,由于權限的問題需要把瀏覽器安裝到jenkins用戶下,所以想出的解決辦法:遠程連接另一個機器進行執行測試用例,這就需要用到grid分布式測試,如下講解
selenium grid 與node
what is selenium grid?
Selenium-Grid allows you run your tests on different machines against different browsers in parallel. That is, running multiple tests at the same time against different machines running different browsers and operating systems. Essentially, Selenium-Grid support distributed test execution. It allows for running your tests in a distributed test execution environment.
when to use it?
- 如果你的程序需要在不用的瀏覽器,不同的操作系統上測試,進行兼容性測試時
- 當你想減少測試用例執行實際看
How to use it?
1、首先啟動HUB
* 下載地址http://selenium-release.storage.googleapis.com/index.html ,根據版本需要下載
* 在控制臺輸入 java -jar selenium-server-standalone-3.5.3.0.jar -role hub 然后在瀏覽器中輸入:http://localhost:4444/grid/console 可以看到hub管理頁面。
2、啟動node節點
在終端輸入 java -jar selenium-server-standalone-3.5.3.jar -role node
如果你想在別的機器上添加node節點則控制臺(終端)輸入如下命令:java -jar selenium-server-standalone-2.53.0.jar -role node
3、啟動chrome瀏覽器
* 需要下載chrome driver,放到selenium-server-standalone-3.5.3.0.jar 同一個目錄下
* 下載的chrome driver版本要與瀏覽器的版本兼容,否則打開瀏覽器后不會執行測試用例 http://chromedriver.storage.googleapis.com/index.html
4、代碼里面需要配置RemoteWebDriver 服務地址以及node端口5555
public class TestBase {
{
System.setProperty("webdriver.chrome.driver", "chromedriver");
}
ChromeOptions options =new ChromeOptions();
protected WebDriver driver;
public TestBase(){
try {
driver = new RemoteWebDriver(new URL(
"http://192.168.1.102:5555/wd/hub"),
DesiredCapabilities.chrome());
_newTest1();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}