# -*- coding: utf-8 -*- # Run the docker image using the following command: # docker run -d -p 4444:4444 selenium/standalone-chrome from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import random, string driver = webdriver.Remote('http://localhost:4444/wd/hub', DesiredCapabilities.CHROME) driver.implicitly_wait(10) HOME_PAGE = 'http://121.4.94.30:5000/' def test_login(): try: driver.get(HOME_PAGE) driver.save_screenshot('./app/test/test_login_pic0.png') assert 'English Pal -' in driver.page_source elem = driver.find_element_by_link_text('成为会员') elem.click() uname = ''.join ( [random.choice (string.ascii_letters) for x in range (8)] ) elem = driver.find_element_by_name('username') elem.send_keys(uname) elem = driver.find_element_by_name('password') elem.send_keys('iamc00l!') driver.save_screenshot('./app/test/test_login_pic1.png') elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到注册按钮 elem.click() driver.save_screenshot('./app/test/test_login_pic2.png') assert '恭喜,你已成功注册' in driver.page_source assert uname in driver.page_source # logout driver.get(HOME_PAGE + 'logout') driver.save_screenshot('./app/test/test_login_pic3.png') # login elem = driver.find_element_by_link_text('登录') elem.click() elem = driver.find_element_by_name('username') elem.send_keys(uname) elem = driver.find_element_by_name('password') elem.send_keys('iamc00l!') elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮 elem.click() driver.save_screenshot('./app/test/test_login_pic4.png') assert 'EnglishPal Study Room for ' + uname in driver.title #logout driver.get(HOME_PAGE + 'logout') # 测试bug是否修复 driver.get(HOME_PAGE) elem = driver.find_element_by_link_text('登录') elem.click() uname = 'lanhui' elem = driver.find_element_by_name('username') elem.send_keys(uname) elem = driver.find_element_by_name('password') elem.send_keys("' or 'a'='a'or'a'='a") elem = driver.find_element_by_xpath('//form[1]/p[3]/input[1]') # 找到登录按钮 elem.click() driver.save_screenshot('./app/test/test_login_pic5.png') assert '无法通过验证。' in driver.page_source finally: driver.quit()