Skip to content

Instantly share code, notes, and snippets.

@photizzo
Created June 29, 2021 14:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save photizzo/0b8442ec908fbadbcc9a6cc9defffb60 to your computer and use it in GitHub Desktop.
Save photizzo/0b8442ec908fbadbcc9a6cc9defffb60 to your computer and use it in GitHub Desktop.
@DisplayName("Upload Profile")
@Test
public void execute() throws Exception {
// set timeout for driver actions (similar to step timeout)
// driver.manage().timeouts().implicitlyWait(15000, TimeUnit.MILLISECONDS);
By by;
boolean booleanResult;
FileUploader.UploadFileToInputElementAction uploadFileToInputElementAction;
RandomDataGenerator.GenerateName generateName;
RandomDataGenerator.GenerateNumberInRange generateNumberInRange;
// 1. Navigate to '{{ApplicationURL}}'
// Navigates the specified URL (Auto-generated)
GeneratedUtils.sleep(500);
driver.navigate().to(ApplicationURL);
// 2. Click 'identity'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='identity']");
driver.findElement(by).click();
// 3. Click 'identity'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='identity']");
driver.findElement(by).click();
// 4. Type 'aktuarialtesting@mailinator.com' in 'identity'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='identity']");
driver.findElement(by).sendKeys("aktuarialtesting@mailinator.com");
// 5. Click 'password'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='password']");
driver.findElement(by).click();
// 6. Type '@Aktuarial1' in 'password'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='password']");
driver.findElement(by).sendKeys("@Aktuarial1");
// 7. Click 'Login'
GeneratedUtils.sleep(500);
by = By.xpath("//button[. = 'Login']");
driver.findElement(by).click();
// 8. Is 'Home' present?
GeneratedUtils.sleep(7000);
by = By.xpath("//a[. = 'Home']");
driver.findElement(by);
driver.manage().timeouts().implicitlyWait(15000, TimeUnit.MILLISECONDS);
// 9. Does 'OVERVIEW' contain 'OVERVIEW'?
GeneratedUtils.sleep(500);
by = By.xpath("//div[. = 'OVERVIEW']");
Assertions.assertTrue(driver.findElement(by).getText().contains("OVERVIEW"));
// 10. Click 'IMG1'
GeneratedUtils.sleep(500);
by = By.xpath("//body/div/div[2]/div[2]/div[1]//img");
driver.findElement(by).click();
// 11. Click 'Go to Profile'
GeneratedUtils.sleep(500);
by = By.xpath("//p[. = 'Go to Profile']");
driver.findElement(by).click();
// 12. Generate random name
GeneratedUtils.sleep(500);
generateName = RandomDataGenerator.getGenerateName();
generateName = (RandomDataGenerator.GenerateName)((ReportingDriver)driver).addons().execute(generateName);
randomName = String.valueOf(generateName.result);
int index = randomName.indexOf(" ");
randomName = randomName.substring(0, index);
// 13. Generate random number between '1000000' and '9999999'
GeneratedUtils.sleep(500);
generateNumberInRange = RandomDataGenerator.generateNumberInRange("1000000","9999999");
generateNumberInRange = (RandomDataGenerator.GenerateNumberInRange)((ReportingDriver)driver).addons().execute(generateNumberInRange);
randomNumber = generateNumberInRange.result;
// 15. Type '+234903{{randomNumber}}' in 'Phone'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='Phone']");
driver.findElement(by).sendKeys(Keys.HOME, Keys.chord(Keys.SHIFT, Keys.END), String.format("+234903%s",randomNumber));
// 17. Type '{{randomName}}' in 'firstname'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='firstname']");
driver.findElement(by).sendKeys(Keys.HOME, Keys.chord(Keys.SHIFT, Keys.END), randomName);
// 19. Type '+234802{{randomNumber}}' in 'Second phone Number'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='Second phone Number']");
driver.findElement(by).sendKeys(Keys.HOME, Keys.chord(Keys.SHIFT, Keys.END), String.format("+234802%s",randomNumber));
// 20. Click 'address1'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='address']");
driver.findElement(by).click();
// 22. Type '18, {{randomName}} Street, Akesan' in 'address1'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='address']");
driver.findElement(by).sendKeys(Keys.HOME, Keys.chord(Keys.SHIFT, Keys.END), String.format("18, %s Street, Akesan",randomName));
// 24. Type 'Las{{randomName}}' in 'lastname'
GeneratedUtils.sleep(500);
by = By.cssSelector("[name='lastname']");
driver.findElement(by).sendKeys(Keys.HOME, Keys.chord(Keys.SHIFT, Keys.END), String.format("Las%s",randomName));
// 25. Upload a file to an input element of type input
GeneratedUtils.sleep(500);
uploadFileToInputElementAction = FileUploader.uploadFileToInputElementAction("/Users/emem/Downloads/upload.jpeg");
by = By.xpath("//div[2]/input");
uploadFileToInputElementAction = (FileUploader.UploadFileToInputElementAction)((ReportingDriver)driver).addons().execute(uploadFileToInputElementAction, by, -1);
// 26. Click 'DIV30'
GeneratedUtils.sleep(500);
by = By.xpath("//div/div/div/div[3]/div");
driver.findElement(by).click();
// 27. Click 'Save2'
GeneratedUtils.sleep(500);
by = By.xpath("//div[2]/div[1]/div[1]/div/button");
driver.findElement(by).click();
// 28. Is 'Profile Updated Successfully' present?
GeneratedUtils.sleep(500);
by = By.xpath("//div[. = 'Profile Updated Successfully']");
driver.findElement(by);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment