news 2026/6/15 13:20:49

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/6/10 1:21:28

3大突破:CodeCombat如何让编程教育参与度提升150%

3大突破&#xff1a;CodeCombat如何让编程教育参与度提升150% 【免费下载链接】codecombat Game for learning how to code. 项目地址: https://gitcode.com/gh_mirrors/co/codecombat 在教育数字化转型的浪潮中&#xff0c;编程教育正经历着从传统讲授到沉浸式体验的深…

作者头像 李华
网站建设 2026/6/10 22:04:36

如何突破生态壁垒?3个创新方案实现Windows与iOS跨设备投屏

如何突破生态壁垒&#xff1f;3个创新方案实现Windows与iOS跨设备投屏 【免费下载链接】airplay2-win Airplay2 for windows 项目地址: https://gitcode.com/gh_mirrors/ai/airplay2-win 你是否曾遇到这样的困境&#xff1a;iPhone里的精彩视频无法直接投到Windows电脑&…

作者头像 李华
网站建设 2026/6/14 7:06:53

Qwen3-VL-8B企业应用:法务部门合同审查助手+财务报表异常检测工具

Qwen3-VL-8B企业应用&#xff1a;法务部门合同审查助手财务报表异常检测工具 1. 这不是普通聊天框&#xff0c;而是法务与财务的AI协作者 你有没有见过这样的场景&#xff1a;法务同事对着一份200页的采购合同逐条核对违约责任条款&#xff0c;眼睛发酸却不敢松懈&#xff1b…

作者头像 李华
网站建设 2026/5/29 3:31:29

告别虚拟机?Apple Silicon Mac运行Windows应用的新选择

告别虚拟机&#xff1f;Apple Silicon Mac运行Windows应用的新选择 【免费下载链接】Whisky A modern Wine wrapper for macOS built with SwiftUI 项目地址: https://gitcode.com/gh_mirrors/wh/Whisky 在M系列芯片Mac上运行Windows应用时&#xff0c;您是否遇到过这些…

作者头像 李华