Я пишу автоматизацию webdriver, чтобы узнать, имеет ли последний комментарий ошибки в JIRA имя моей команды или идентификатор, и если это так, мне придется отправлять отдельные электронные письма им в этот комментарий, а также должны отправить сводный список имени ресурса, идентификатор ошибки и комментарий к моему менеджеру автоматически в файле ExcelСкрипт Webdriver для отправки уведомлений по электронной почте и консолидации данных в excel
До сих пор у меня была книга, в которой у меня есть все члены моей команды и имя, а также JIRA URL, имя пользователя и пароль в этой книге Ниже представлен ход сценария, в котором я печатаю все необходимое для вывода на консоль. Нужна помощь в электронной почте посылая часть и консолидации результатов в Excel
package myproject;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import java.io.FileInputStream;
import java.util.*;
//import java.io.IOException;
import jxl.Sheet;
import jxl.Workbook;
import java.lang.*;
public class jiracomments {
public static void main(String[] args) throws Exception
{
String url, name, password;
String[] database = new String[30];
String[] id = new String[30];
String FilePath = "mypath";
FileInputStream fs = new FileInputStream(FilePath);
Workbook wb = Workbook.getWorkbook(fs);
// TO get the access to the sheet
Sheet sh = wb.getSheet("Sheet1");
url = sh.getCell(2,0).getContents();
System.out.println("JQL applied is : "+url);
name = sh.getCell(2,1).getContents();
System.out.println("Logged in with username: "+ name);
password = sh.getCell(2,2).getContents();
try{
for (int row = 0; row < 30; row++) {
database[row]=sh.getCell(0, row).getContents();
}
}
catch(Exception i){}
try{
for (int row = 0; row < 30; row++) {
id[row]=sh.getCell(1, row).getContents();
}
}
catch(Exception i){}
int v,i, x, xp;
boolean b;
String[] bug = new String[30];
String[] jiraname = new String[30];
WebDriver driver;
// System.setProperty("webdriver.gecko.driver", "C://Users/rajamas/Desktop/Selenium Jars/geckodriver-v0.10.0-win64/");
driver =new FirefoxDriver();
driver.get(url);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.findElement(By.xpath("/html/body/div/section/div/div/section/form/div[1]/fieldset/div[1]/input")).sendKeys(name);
driver.findElement(By.xpath("/html/body/div/section/div/div/section/form/div[1]/fieldset/div[2]/input")).sendKeys(password);
driver.findElement(By.xpath("/html/body/div/section/div/div/section/form/div[2]/div/input")).click();
//Number of results in filter
String counter= driver.findElement(By.xpath(".//*[@id='content']/div[1]/div[4]/div/div/div/div/div/div/div[1]/div[1]/span/span[3]")).getText();
int rows_count=Integer.parseInt(counter);
Thread.sleep(30000);
//to sort comments section
driver.findElement(By.xpath(".//*[@id='issuetable']/tbody/tr[1]/td[1]/a[2]")).click();
Thread.sleep(10000);
driver.findElement(By.xpath(".//*[@id='activitymodule']/div[2]/div[1]/div/a")).click();
Thread.sleep(10000);
driver.findElement(By.xpath(".//*[@id='return-to-search']")).click();
System.out.println("Comments having DA's id is : "+rows_count);
System.out.println("");
System.out.println("Below list has DA's id in last comment: ");
System.out.println("");
//to loop through all Jira's
for (int row=1;row<=rows_count;row++){
System.out.println(row);
// to navigate to next page if more than 100 results
if (row == 101) {
row=row-100;
\t rows_count=rows_count-100;
\t driver.findElement(By.xpath(".//*[@id='content']/div[1]/div[4]/div/div/div/div/div/div/div[4]/div[2]/div/a[2]")).click();
\t System.out.println("Moving to next page");
\t Thread.sleep(10000);
}
\t String row1= Integer.toString(row);
\t //to get bug id and click and navigate to bug details page
\t String bugId = driver.findElement(By.xpath(".//*[@id='issuetable']/tbody/tr["+row1+"]/td[1]/a[2]")).getText();
\t driver.findElement(By.xpath(".//*[@id='issuetable']/tbody/tr["+row1+"]/td[1]/a[2]")).click();
\t Thread.sleep(30000); \t
\t // to get the last comments value
\t String newsting= driver.findElement(By.xpath(".//*[@id='activitymodule']/div[2]/div[2]/div[2]/div[1]/div[1]/div[2]")).getText();
\t //code to be added to either send an email if DA name is available or raise nc
\t for (int count=0;count<28;count++)
\t {
if(newsting.toLowerCase().indexOf(id[count].toLowerCase())!=-1){
System.out.println("YOU HAVE AN ALERT: "+id[count]+" PLEASE LOOK INTO BUG: "+bugId);
\t \t System.out.println("The comment in your name is : "+newsting);
\t \t System.out.println("");
}
}
// to go back to search results
driver.findElement(By.xpath(".//*[@id='return-to-search']")).click();
}
}
}