0

Im having some trouble uploading a file and closing the Windows explorer window. The test runs fine and i receive no errors but I the file never uploads and upload popup never closes.

ApplyJob.java

package com.example.tests;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.Select;

public class IJ_ApplyForJob {

 IJ_Login login = new IJ_Login();

@Test
public void SFJ_HomeSearchBoxNotLoggedIn(WebDriver driver)
{
    driver.findElement(By.id("kwdInput")).clear();
    driver.findElement(By.id("kwdInput")).sendKeys("Testing");
    //find the dropdown and search for the location dublin
    Select ddSelectLoc = new Select(driver.findElement(By.name("Location")));
    ddSelectLoc.selectByVisibleText("Dublin");
    //find the dropdown and search for the Category IT
    Select ddSelectCat = new Select(driver.findElement(By.id("home-category")));
    ddSelectCat.selectByVisibleText("IT");
    //click search button and search for term.
    driver.findElement(By.className("btn-search")).click();
    //click first job title
        driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucJobs_rptResult_ctl01_hlTitle")).click();
    //click apply for job
    driver.findElement(By.className("ApplyForJobButton")).click();
    //complete form
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtComments")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtComments")).sendKeys("Cover Letter Testing");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtFirstName")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtFirstName")).sendKeys("Name");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtSecondName")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtSecondName")).sendKeys("Surname");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtPhone")).clear();    
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtPhone")).sendKeys("12345678");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtEmail")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtEmail")).sendKeys("email@gmail.com");
   // Upload CV not logged in
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_fileCV")).sendKeys("C:\\Users\\Desktop\\CV_TEST.docx");
    driver.findElement(By.linkText("Open")).click();
    //submit application
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_btnSubmit")).click();
}
}

IJ_Test.java

package com.example.tests;

import org.junit.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

public class IJ_test {
IJ_ApplyForJob afj = new IJ_ApplyForJob();
IJ_CommonSetup setup = new IJ_CommonSetup();
private WebDriver driver = new FirefoxDriver();

@Test
 public void runTest() throws Exception {
  setup.setUp(driver);
  setup.clearCookies(driver);
 afj.SFJ_HomeSearchBoxNotLoggedIn(driver);
  //afj.SFJ_HomeSearchBoxLoggedIn(driver);
  setup.tearDown();
}

}

Im not really sure where im going wrong so any help would be appreciated.

4

1 回答 1

2

问题是我从来没有等过简历上传。@smit 建议对我来说非常有效。通过使用 .implicitlyWait,我可以暂停测试并等待 CV 上传。

应用作业.java

package com.example.tests;

import java.util.concurrent.TimeUnit;

import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.ui.Select;

public class IJ_ApplyForJob {

 IJ_Login login = new IJ_Login();

@Test
public void SFJ_HomeSearchBoxNotLoggedIn(WebDriver driver)
{
    driver.findElement(By.id("kwdInput")).clear();
    driver.findElement(By.id("kwdInput")).sendKeys("Testing");
    //find the dropdown and search for the location dublin
    Select ddSelectLoc = new Select(driver.findElement(By.name("Location")));
    ddSelectLoc.selectByVisibleText("Dublin");
    //find the dropdown and search for the Category IT
    Select ddSelectCat = new Select(driver.findElement(By.id("home-category")));
    ddSelectCat.selectByVisibleText("IT");
    //click search button and search for term.
    driver.findElement(By.className("btn-search")).click();
    //click first job title
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucJobs_rptResult_ctl02_hlTitle")).click();
    //click apply for job
    driver.findElement(By.className("ApplyForJobButton")).click();
    //complete form
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtComments")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtComments")).sendKeys("Cover Letter Testing");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtFirstName")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtFirstName")).sendKeys("Test");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtSecondName")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtSecondName")).sendKeys("Test");
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtPhone")).clear();    
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtPhone")).sendKeys("12345678");
       driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtEmail")).clear();
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_txtEmail")).sendKeys("craig.mccarthy@live.ie");
   // Upload CV not logged in
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_fileCV")).sendKeys("C:\\Users\\Craig\\Desktop\\CV_TEST.docx");
    //wait for CV to upload
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    //submit application
    driver.findElement(By.id("ctl00_ctl00_cphMain_cphMain_ucApplyJob_btnSubmit")).click();
}
于 2013-10-09T10:13:24.283 回答