selenium 自动化测试工具实战项目(客户)
-
介绍
-
测试的系统:白月黑羽网站的测试系统(白月SMS系统)
-
测试的功能:添加客户,编辑,删除等等
-
-
测试用例
用例编号 主模块 子模块 前置条件 测试步骤 预期结果 实际结果 Customer_01 客户 添加客户 已登录 1.不填写客户名,填写联系电话,地址。2.点击创建 创建不成功,并且有相应的提示 创建不成功,并且有相应的提示 Customer_02 客户 添加客户 已登录 1.填写客户名,不填写联系电话,填写地址。2.点击创建 创建不成功,并且有相应的提示 创建不成功,并且有相应的提示 Customer_03 客户 添加客户 已登录 1.填写客户名,填写联系电话,不填写地址。2.点击创建 创建不成功,并且有相应的提示 创建不成功,并且有相应的提示 Customer_04 客户 编辑 已登录,已创建客户 1.分别修改客户名,联系电话,地址。2.点击确定 能正常修改 能正常修改 Customer_05 客户 删除 已登录,已创建客户 1.点击删除 删除成功 删除成功 -
自动化测试程序
from selenium import webdriver from time import sleep
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoAlertPresentException
class Customer:
def init(self):
self.driver = webdriver.Chrome()
def OpenChrome(self):
self.driver.get(‘http://127.0.0.1/mgr/sign.html’)
#前置条件
def Login(self):
#元素定位
userNameElement = self.driver.find_element(By.ID,'username')
userNameElement.send_keys('byhy')
sleep(1)
passWordElement = self.driver.find_element(By.ID,'password')
passWordElement.send_keys('88888888')
#点击登录按钮
submitElement = self.driver.find_element(By.XPATH,'//div[@class="col-xs-12"]/button')
submitElement.click()
sleep(3)
print('用户登录成功!!!')
def addCustomer(self):
try:
CustomerNameList = ['','zulniger','zulniger']
PhoneList = ['17590967558','12','17590967558']
AddressList = ['霍尔果斯','霍尔果斯','1']
number = 0
#点击客户
CustomerElement=self.driver.find_element(By.XPATH,'//section/ul/li[2]/a')
CustomerElement.click()
sleep(1)
while True:
# 添加客户
AddCustomerElement = self.driver.find_element(By.XPATH,'//section[@class="content container-fluid"]/div/button')
AddCustomerElement.click()
sleep(2)
for n,p,a in zip(CustomerNameList,PhoneList,AddressList):
#输入客户名,联系电话,地址
#Customer_01
CustomerNameElement=self.driver.find_element(By.XPATH,'//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[1]/input')
CustomerNameElement.send_keys(Keys.CONTROL+'a')
CustomerNameElement.send_keys(f'{n}')
sleep(2)
PhoneElement=self.driver.find_element(By.XPATH,'//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[2]/input')
PhoneElement.send_keys(Keys.CONTROL+'a')
PhoneElement.send_keys(f'{p}')
sleep(2)
AddressElement=self.driver.find_element(By.XPATH,'//div[@class="col-lg-8 col-md-8 col-sm-8"]/div[3]/textarea')
AddressElement.send_keys(Keys.CONTROL+'a')
AddressElement.send_keys(f'{a}')
sleep(2)
#点击创建
createElement = self.driver.find_element(By.XPATH,'//div[@class="col-lg-12 col-md-12 col-sm-12"]/button[1]')
createElement.click()
sleep(2)
# Confirm 弹窗
try:
Confirm = self.driver.switch_to.alert
print('创建失败提示语 ——> ', Confirm.text)
Confirm.accept()
sleep(3)
except NoAlertPresentException:
print("当前没有 alert,跳过处理")
continue
break
except Exception as e:
print("Error:",e)
def Redact(self):
number = 1
n=0
while n<=3:
#点击编辑
redactElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"][1]/div[4]/div/label[1]')
redactElement.click()
sleep(2)
if number == 1:
RCNElement=self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div/div[1]/input[1]')
RCNElement.send_keys(Keys.CONTROL+'a')
RCNElement.send_keys('小明')
sleep(3)
# 点击确定
subElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div[2]/div/label[1]')
subElement.click()
sleep(2)
elif number == 2:
RPElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div/div[2]/input')
RPElement.send_keys(Keys.CONTROL+'a')
RPElement.send_keys('13390987867')
sleep(3)
# 点击确定
subElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div[2]/div/label[1]')
subElement.click()
sleep(2)
else:
RAElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div/div[3]/textarea')
RAElement.send_keys(Keys.CONTROL+'a')
RAElement.send_keys('伊宁市')
sleep(3)
# 点击确定
subElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"]/div[2]/div/label[1]')
subElement.click()
sleep(2)
number = number+1
n = n+1
print('编辑完毕!!!')
def delete(self):
#删除客户
DeleteElement = self.driver.find_element(By.XPATH,'//div[@class="search-result-item"][1]/div[4]/div/label[2]')
DeleteElement.click()
print('删除成功~')
if name == ‘main’:
ct = Customer()
ct.OpenChrome()
ct.Login()
ct.addCustomer()
ct.Redact()
ct.delete()










