Selenium - 在同一个测试用例中打开2个不同的页面

时间:2016-04-26 13:21:03

标签: python-3.x selenium firefox

有人可以帮助我吗?

我必须创建以一页开头的测试用例,即http://page1。 单击发送消息(第1页)后,我必须转到第2页并确认该消息已成功发送。 这是我的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
driver=webdriver.Firefox()
driver.get("http://page1")
driver.find_element_by_id("connectBtn").click()
driver.implicitly_wait(10)
driver.find_element_by_id("short_id")
driver.find_element_by_id("from").send_keys("41587000200")
driver.find_element_by_xpath("html/body/div[1]/div/form/button").click()
driver.implicitly_wait(10)
driver.find_element_by_xpath("html/body/div[1]/div/div[2]/h2").click()
driver.find_element_by_xpath("html/body/div[1]/div/div[2]/textarea")
# Check if message exists on SMS Response
driver.find_element_by_xpath("html/body/div[1]/div/h2").click()
driver.close()

在“检查短信中的消息是否......”之前,我必须转到http://page2并确认存在于大文本框中,例如:SMS已成功发送。

有人能为我提供解决方案吗? 提前谢谢

2 个答案:

答案 0 :(得分:0)

如果您需要处理在webdriver会话期间打开的新浏览器窗口,您可以尝试使用以下代码:

driver.switch_to_window(driver.window_handles[1])
# driver.window_handles returns list of available windows to handle. [1] is the second opened window

在确认窗口中管理元素后,您可以返回主窗口

driver.switch_to_window(driver.window_handles[0])

答案 1 :(得分:0)

你好Andersson是对的,但还有另一种方法可以解决你的问题,只需你可以定义第二页的路径,然后再将你的消息与x值进行比较