2017-01-19 18 views
1

Я пишу автоматизацию 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(); 
 
     } 
 
    } 
 
}

ответ

0

Отправка электронной почты предполагает взаимодействия с почтовым сервером. Хорошее описание того, как интегрировать это в gmail, можно найти здесь.

 Смежные вопросы

  • Нет связанных вопросов^_^