selenium登入驗證碼處理方式
阿新 • • 發佈:2020-12-24
技術標籤:selenium
selenium登入驗證碼處理方式
方式一:使用add_cookie的方式登入
程式碼
// import unittest
import os
from selenium import webdriver
from time import sleep
from testcases.myUnit import MyUnit
class UnittestTest(unittest.TestCase):
@classmethod
def setUpClass(cls):
print('===========setUp:開始==========' )
@classmethod
def tearDownClass(cls):
print('===========tearDown:退出==========')
def test01_login_index(self):
self.driver = webdriver.Chrome()
self.driver.get('http://www.jpress.io/user/login') # 登入頁面路徑
# name和value值來源,1、在登入頁面點選F12,點選Application目錄,然後會看到Cookies,點選Cookies下的連結,並且清空裡面的值。
2 、輸入賬號密碼登入,登入成功之後,Cookies會有登入後的Cookies值,將該值填寫到程式碼中即可。
self.driver.add_cookie({"name": "csrf_token", "value": "60f4aeb9997e4b60ad7a3f09d3b7b1c3"})
self.driver.add_cookie({"name": "_jpuid", "value": "\"NDFkMDg0NWNkYzc0NTlmYWQ3M2I4M2Y0MjRjMjlmNjMjMTYwODY5MTc5ODg3MiMxNzI4MDAjTVRjd09BPT0=\"" })
self.driver.get('http://www.jpress.io/ucenter') # 登入成功之後的路徑
# 斷言:判斷是否登入成功
self.assertIn("/ucenter", self.driver.current_url)
sleep(3)
if __name__ == '__main__':
suite = unittest.TestSuite()
test_case = unittest.defaultTestLoader.discover(start_dir=os.getcwd(), pattern='*.py') # 根據模組一次性執行所有
suite.addTests(test_case)
print(suite.countTestCases()) # 統計測試用例數
unittest.TextTestRunner(verbosity=2).run(suite)
方式二: