package ta.maxcare.test;
import static org.junit.Assert.fail;
import java.util.Date;
import java.util.concurrent.TimeUnit;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
public class AddRi extends BaseTest {
private WebDriver driver;
private String baseUrl;
private long timeout = 15000;
private StringBuffer verificationErrors = new StringBuffer();
@Before
public void setUp() throws Exception {
driver = new InternetExplorerDriver();
baseUrl = "https://10.1.184.92:13107";
driver.manage().timeouts().implicitlyWait(50, TimeUnit.SECONDS);
}
@Test
public void test1() throws Exception {
login(driver, baseUrl);
driver.switchTo().frame(find(driver, By.name("Content"), timeout));
WebElement sapIdFromFilter = find(driver, By.name("filter:sapIdFrom"), timeout);
sapIdFromFilter.clear();
sapIdFromFilter.sendKeys("200000552068");
find(driver, By.name("filter:P_AccSearchButtonDFID"), timeout).click();
find(driver, By.xpath("//table[@class='dataview']/tbody/tr/td[2]/span/a"), timeout).click();
openTreeAttribute(driver, "Invoice");
String windowHandle = driver.getWindowHandle();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("Content")));
driver.switchTo().frame("Content");
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("Add_RI_Invoice")));
driver.findElement(By.name("Add_RI_Invoice")).click();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("Content")));
driver.switchTo().frame("Content");
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("P_TA_AdjustmentRiInvoiceDFID")));
driver.findElement(By.name("P_TA_AdjustmentRiInvoiceDFID")).click();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("adjustment.common.amount")));
driver.findElement(By.name("adjustment.common.amount")).clear();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("adjustment.common.amount")));
driver.findElement(By.name("adjustment.common.amount")).sendKeys("150");
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("adjustment.remark")));
driver.findElement(By.name("adjustment.remark")).sendKeys("Adjustmend added by selenium");
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("itemID")));
driver.findElement(By.name("itemID")).sendKeys("74674");
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("P_ItemSearchDFID")));
driver.findElement(By.name("P_ItemSearchDFID")).click();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("P_OkDFID")));
driver.findElement(By.name("P_OkDFID")).click();
Thread.sleep(2000);
driver.switchTo().window(windowHandle);
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable((By.name("tabs:panel:commonFrameRow:commonPanel:invoice:requestBtn"))));
driver.findElement(By.name("tabs:panel:commonFrameRow:commonPanel:invoice:requestBtn")).click();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable((By.xpath("//div[@class='w_content']/iframe"))));
WebElement confAction = driver.findElement(By.xpath("//div[@class='w_content']/iframe"));
driver.switchTo().frame(confAction);
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("buttonOK")));
driver.findElement(By.name("buttonOK")).click();
Thread.sleep(2000);
driver.switchTo().window(windowHandle);
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.xpath("//div[@class='w_content']/iframe")));
WebElement csrNoteFrame = driver.findElement(By.xpath("//div[@class='w_content']/iframe"));
driver.switchTo().frame(csrNoteFrame);
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("csrNoteText")));
//setTextIntoField(driver.findElement(By.name("csrNoteText")), (new Date()).toString());
driver.findElement(By.name("csrNoteText")).sendKeys((new Date()).toString());
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.name("closeOK")));
driver.findElement(By.name("closeOK")).click();
Thread.sleep(2000);
driver.switchTo().window(windowHandle);
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='navPanel']")));
WebElement navPanel = driver.findElement(By.xpath("//span[@class='navPanel']"));
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.xpath("//span[@class='navPanel']")));
navPanel.click();
(new WebDriverWait(driver, 1000)).until(ExpectedConditions.elementToBeClickable(By.cssSelector("img[title=\"Close\"]")));
logout(driver);
}
@After
public void tearDown() throws Exception {
driver.quit();
String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
}
}
}
получилось как то так, но не получается с
Thread.sleep(2000);
driver.switchTo().window(windowHandle);
тут тред слип приходится оставлять, его можно как то обойти в этом моменте?