思路:使用python自帶的unittest單元測試框架測試163郵箱登陸成功的case
import unittest
from selenium import webdriver
import time
#定義登陸類,登陸相關的case均可以在這裏
class LoginCase(unittest.TestCase):
#每一個用例開始前的準備
def setUp(self):
print("開始測試")
self.dr=webdriver.Chrome()
self.dr.get("https://mail.163.com/")
#測試登陸成功case
def test_login_sucess(self):
self.dr.switch_to.default_content()
username='xxxxxxxxx'
password='xxxxxxxxx'
self.login(username,password)
time.sleep(2)
account=self.by_xpath("//*[id='spnUid']").text
self.assertIn("你的郵箱帳號",account)#斷言帳號在登陸標題中
#登陸過程封裝爲一個方法方便調用,避免重複代碼
def login(self,username,password):
self.by_id("switchAccountLogin").click()
self.dr.switch_to.frame(0)#輸入框位於frame內,須要跳轉到frame
self.by_name("email").send_keys(username)
self.by_name("password").send_keys(password)
self.by_id("dologin").click()
time.sleep(2)
#將定位方法封裝在方法中便於書寫,避免重複代碼
def by_id(self,the_id):
return self.dr.find_element_by_id(the_id)
def by_css(self,css):
return self.dr.find_element_by_css_selector(css)
def by_name(self,name):
return self.dr.find_element_by_name(name)
def by_xpath(self,xpath):
return self.dr.find_element_by_xpath(xpath)
def tearDown(self): #每一個用例執行以後 print ('after test') self.dr.quit()if __name__ == '__main__': unittest.main()