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

介绍
复制代码
###### 测试的系统:白月黑羽网站的测试系统(白月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()

复制代码
相关推荐
纳米软件2 小时前
电源模块纹波与噪声测试:从原理到自动化实现
自动化·labview·电源测试系统·atecloud·零代码软件开发
卷福同学2 小时前
【养虾日记】QClaw操作浏览器自动化发文
运维·人工智能·程序人生·自动化
智_永无止境2 小时前
AI时代,一个Skill如何让Java项目结构自动化?
自动化·skills
为你奋斗!3 小时前
图形化界面工具 - webUI使用Page Assist 插件
测试工具
CN.LG3 小时前
抓包工具 Wireshark 是什么?
网络·测试工具·wireshark
新新学长搞科研4 小时前
第五届电子、集成电路与通信技术国际学术会议(EICCT 2026)
运维·人工智能·自动化·集成测试·信号处理·集成学习·电气自动化
星空4 小时前
postman复习
测试工具·postman
阿达_优阅达4 小时前
告别手工对账:xSuite 如何帮助 SAP 企业实现财务全流程自动化?
服务器·数据库·人工智能·自动化·sap·企业数字化转型·xsuite
renhongxia16 小时前
多模态融合驱动下的具身学习机制研究
运维·学习·机器人·自动化·知识图谱
Chengbei117 小时前
Chrome浏览器渗透利器支持原生扫描!JS 端点 + 敏感目录 + 原型污染自动化检测|VulnRadar
javascript·chrome·安全·web安全·网络安全·自动化·系统安全