news 2026/4/23 15:53:31

selenium 自动化测试工具实战项目(客户)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
selenium 自动化测试工具实战项目(客户)
  • 介绍
  • 测试用例
    用例编号主模块子模块前置条件测试步骤预期结果实际结果
    Customer_01客户添加客户已登录1.不填写客户名,填写联系电话,地址。2.点击创建创建不成功,并且有相应的提示创建不成功,并且有相应的提示
    Customer_02客户添加客户已登录1.填写客户名,不填写联系电话,填写地址。2.点击创建创建不成功,并且有相应的提示创建不成功,并且有相应的提示
    Customer_03客户添加客户已登录1.填写客户名,填写联系电话,不填写地址。2.点击创建创建不成功,并且有相应的提示创建不成功,并且有相应的提示
    Customer_04客户编辑已登录,已创建客户1.分别修改客户名,联系电话,地址。2.点击确定能正常修改能正常修改
    Customer_05客户删除已登录,已创建客户1.点击删除删除成功删除成功
  • 自动化测试程序
    fromseleniumimportwebdriverfromtimeimportsleep

from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoAlertPresentException

class Customer:
definit(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('删除成功~')

ifname== ‘main’:
ct = Customer()
ct.OpenChrome()
ct.Login()
ct.addCustomer()
ct.Redact()
ct.delete()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 10:03:51

Qwen3-TTS-Tokenizer-12Hz惊艳效果:歌声合成前端编解码质量实测

Qwen3-TTS-Tokenizer-12Hz惊艳效果&#xff1a;歌声合成前端编解码质量实测 你有没有试过把一段清亮的女声哼唱&#xff0c;压缩成几百个数字后&#xff0c;再原样“变”回耳朵熟悉的音色和气息&#xff1f;不是模糊的复刻&#xff0c;而是连换气停顿、喉部微颤、尾音泛音都一…

作者头像 李华
网站建设 2026/4/23 10:05:18

RexUniNLU中文NLU教程:如何将抽取结果对接Elasticsearch构建检索系统

RexUniNLU中文NLU教程&#xff1a;如何将抽取结果对接Elasticsearch构建检索系统 1. 引言 你是否遇到过这样的场景&#xff1a;手头有一堆非结构化文本数据&#xff0c;想要快速构建一个智能检索系统&#xff0c;却苦于无法有效提取关键信息&#xff1f;今天我们就来解决这个…

作者头像 李华
网站建设 2026/4/23 10:23:47

3步解锁沉浸式写作:这款编辑器如何让我找回创作热情

3步解锁沉浸式写作&#xff1a;这款编辑器如何让我找回创作热情 【免费下载链接】marktext &#x1f4dd;A simple and elegant markdown editor, available for Linux, macOS and Windows. 项目地址: https://gitcode.com/gh_mirrors/ma/marktext 作为一名科技内容创作…

作者头像 李华
网站建设 2026/4/23 10:24:35

零基础入门语音活动检测,用FSMN VAD镜像轻松实现会议录音分析

零基础入门语音活动检测&#xff0c;用FSMN VAD镜像轻松实现会议录音分析 你是否遇到过这样的场景&#xff1a;手头有一段90分钟的会议录音&#xff0c;想快速提取每位发言人的讲话片段&#xff0c;却只能靠手动拖进度条、反复试听、笨拙标记&#xff1f;或者正在做语音质检&a…

作者头像 李华