Python+selenium⾃动化测试实例(⼀)
把CSDN登录功能实现⾃动化
⼀、搭建⾃动化测试框架
⼆、准备测试数据
三. 先准备page层
把界⾯元素定义成属性:可以直接写到class中; 就类似于变量
属性名 = 属性值 #属性名⾃定义; 属性值:是界⾯元素的定位信息
把定位元素并且操作定义成⽅法
Class xxxpage:
属性名 = 属性值 #属性名⾃定义; 属性值:是界⾯元素的定位信息
def ⽅法名():
from selenium.webdrivermon.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait
class CsdnPage():
#使⽤F12定位⽤户名输⼊框
username = By.XPATH,'//*[placeholder="⼿机号"]'
#使⽤F12定位密码输⼊框
password = By.XPATH,'//*[placeholder="6位数字验证码"]'
def csdn_login_page(self,driver,username,password):
#输⼊⽤户名
keys_username = WebDriverWait(driver,10,0.2).until(expected_conditions.presence_of_element_loc
ated((self.username))) keys_username.send_keys(username)
# 输⼊验证码
keys_password = WebDriverWait(driver,10,0.2).until(expected_conditions.presence_of_element_located((self.password))) keys_password.send_keys(password)
备注:
页⾯元素定位不熟悉的⽼铁⾃⼰可以去抽个充电,⽰例中使⽤了xpath的⾼级⽤法
2. 准备业务层:
_test_file import GetTestInfo
from src.pages.csdn_page import CsdnLoginPage
class CsdnLoginBusiness(CsdnLoginPage):
def login_function(self,driver,line):
#读取测试数据
data = GetTestInfo().get_test_data("login_data.csv",line)
#读取到的测试数据填写到对应的输⼊框中
CsdnLoginPage().csdn_login_page(driver,data[0],data[1])
备注
把数据整合到登录页⾯上。
3.准备⽤例层
selenium怎么使用注:
执⾏⽤⽤例是⾸先进⾏浏览器初始化,⼀般浏览器初始化⽤的⽐较多所以单另分装个函数放在common中直接调⽤即可
使⽤unittest框架编写测试⽤例
import unittest
from selenium.webdriver.android import webdriver
from src.business.scdn_b import CsdnLoginBusiness
from srcmon.General_method import GeneralMethod
class LoginTestCase(unittest.TestCase):
def setUp(self):
#初始化浏览器对其赋值
self.driver,self.Wait = GeneralMethod().chushihua_driver("csdn_url")
# ⽤例⼀:正常登录⽤例
def test_normal_login(self):
"登录成功,断⾔成功"
try:
#测试⽤例,输⼊合法的⽤户名和密码登录
CsdnLoginBusiness().login_function(self.driver,1)
except:
#⽤例执⾏失败后截取图⽚
GeneralMethod().get_picture(self.driver,"正常登录⽤例")
raise
def tearDown(self):
# 测试⽤例执⾏完毕关闭浏览器
self.driver.quit()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论