介绍
###### 测试的系统:白月黑羽网站的测试系统(白月SMS系统)
###### 测试的功能:添加客户,编辑,删除等等
测试用例
| 用例编号 | 主模块 | 子模块 | 前置条件 | 测试步骤 | 预期结果 | 实际结果 |
|---|---|---|---|---|---|---|
| Customer_01 | 客户 | 添加客户 | 已登录 | 1.不填写客户名,填写联系电话,地址。2.点击创建 | 创建不成功,并且有相应的提示 | 创建不成功,并且有相应的提示 |
| Customer_02 | 客户 | 添加客户 | 已登录 | 1.填写客户名,不填写联系电话,填写地址。2.点击创建 | 创建不成功,并且有相应的提示 | 创建不成功,并且有相应的提示 |
| Customer_03 | 客户 | 添加客户 | 已登录 | 1.填写客户名,填写联系电话,不填写地址。2.点击创建 | 创建不成功,并且有相应的提示 | 创建不成功,并且有相应的提示 |
| Customer_04 | 客户 | 编辑 | 已登录,已创建客户 | 1.分别修改客户名,联系电话,地址。2.点击确定 | 能正常修改 | 能正常修改 |
| Customer_05 | 客户 | 删除 | 已登录,已创建客户 | 1.点击删除 | 删除成功 | 删除成功 |
自动化测试程序
python
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()