這篇文章主要記錄Python語(yǔ)言 + Pytest + Selenium實(shí)現(xiàn)模擬登錄.
步驟:
1. Pytest + Selenium搭配使用.
2. 使用Xpath對(duì)元素進(jìn)行定位.
3. 使用Selenium的input()方法進(jìn)行輸入賬號(hào)密碼及驗(yàn)證碼.
4. 登錄成功(斷言登錄成功頁(yè)面的Title).
要先拿到iframe框架的url, 不然后續(xù)無(wú)法xpath定位.
代碼實(shí)現(xiàn)
import pytest
from selenium import webdriver
import time
class TestLogin:
# 初始化操作
def setup_class(self):
# 指定瀏覽器
self.driver = webdriver.Chrome()
# 指定URL
# 拿到iframe
self.driver.get('https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=%E6%89%8B%E6%9C%BAQQ%E7%A9%BA%E9%97%B4&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=0')
def test_login(self):
time.sleep(3)
# 點(diǎn)擊賬號(hào)密碼登錄
self.driver.find_element_by_xpath('//*[@id="switcher_plogin"]').click()
# 使用XPath對(duì)賬號(hào)和密碼輸入框進(jìn)行定位
self.driver.find_element_by_xpath('//*[@id="u"]').send_keys('賬號(hào)')
self.driver.find_element_by_xpath('//*[@id="p"]').send_keys('密碼')
# 點(diǎn)擊登錄按鈕
self.driver.find_element_by_xpath('//*[@id="login_button"]').click()
# 拿到登錄頁(yè)面的title
title = self.driver.title
asset('QQ空間昵稱(chēng)', title)
time.sleep(3)
# 掃尾工作(此方法在整個(gè)類(lèi)中只執(zhí)行一次)
def teardown_class(self):
# 退出
self.driver.quit()
# ps: 使用命令行 (pytest -s 文件路徑/文件名稱(chēng)) 執(zhí)行代碼
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者