我是自动化测试的新手。我正在使用twitter作为测试网站来学习硒。
我想创建一条新推文,为此我正在使用以下方案。我可以打开“新推文”弹出窗口,但仍然无法在其文本框中输入文字。请帮忙。
先决条件:登录Twitter
对我而言,它一直工作到第2点,之后它不会在文本框中输入文本
请参阅下面的代码:
String popUpHandle = driver.getWindowHandle();
driver.switchTo().window(popUpHandle);
driver.findElement(By.id("global-new-tweet-button")).click();
driver.findElement(By.xpath("(//button[@type='button'])[123]")).click();
driver.findElement(By.xpath("(//button[@type='button'])[123]")).sendKeys("test tweet");
driver.findElement(By.xpath("//button[@type='button'])[106]")).click();
答案 0 :(得分:0)
@ user3241182
我自己测试了这个。您不需要使用任何窗口处理。 以下代码是一个提供的解决方案,效果很好。
WebDriver driver = new FirefoxDriver();
driver.get("https://twitter.com/");
WebElement username = driver.findElement(By.id("signin-email"));
username.clear();
username.sendKeys("your_twitter_handle");
WebElement pass = driver.findElement(By.id("signin-password"));
pass.clear();
pass.sendKeys("your_twitter_passwd");
WebElement signInButton = driver.findElement(By.xpath("/html/body/div/div[2]/div/div[2]/div[2]/div[2]/form/table/tbody/tr/td[2]/button"));
signInButton.click();
WebElement tweetButton = driver.findElement(By.id("global-new-tweet-button"));
tweetButton.click();
WebElement tweetBox = driver.findElement(By.id("tweet-box-global"));
tweetBox.clear();
tweetBox.sendKeys("This is an automated tweet!");
WebElement tweetSubmit = driver.findElement(By.xpath("/html/body/div[9]/div[2]/div[2]/div[2]/form/div[2]/div[2]/button"));
tweetSubmit.click();