使用Selenium和Python进行测试时测试与第三方网站帐户的连接

时间:2016-11-17 11:00:56

标签: python selenium selenium-webdriver

我使用以下代码连接到我想要运行一些自动化测试的网站:

# create an instance of the driver 
driver = webdriver.Chrome('**root**\\chromedriver.exe')
# connect to "leboncoin"
connect_lbc(driver)

def connect_lbc(driver):
    driver.get('https://www.leboncoin.fr/')
    assert "No results found." not in driver.page_source
    # press connection box
    WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_xpath("//*[@id=\"header\"]/section/section/aside/button"))
    connection_box = driver.find_element_by_xpath("//*[@id=\"header\"]/section/section/aside/button")
    connection_box.click()
    # fill in info and connect
    WebDriverWait(driver, 10).until(lambda driver : driver.find_element_by_name('st_username'))
    name_box = driver.find_element_by_name('st_username')
    name_box.send_keys('**my_email_adress**')
    pwd_box = driver.find_element_by_name("st_passwd")
    pwd_box.send_keys('**my_pwd**')
    connect_box = driver.find_element_by_xpath("//*[@id=\"popin-content\"]/section/main/section[1]/form/div[3]/div/input")
    connect_box.click()

问题是,为了正确完成测试,我需要在整个过程中保持与我的帐户的连接。但有时,由于某种原因,我无法确定在自动化测试期间发生与我的帐户的断开连接。因此,我需要确定何时发生并重新连接。

我需要像isConnected()这样的函数来返回一个布尔值,但问题是我不知道如何用Selenium和Python编写它。

有人知道如何处理这类问题吗?

0 个答案:

没有答案