pythom selenium Web自动化测试项目---购票系统实战

2023-12-15 10:42:24

pythom selenium Web自动化测试项目—购票系统实战

  1. 环境搭建

    • python环境(建议使用anaconda)

    • pycharm IDE集成开发工具

    • selenimu的安装S

      安装命令:pip install selenium

  2. 校验环境是否搭建成功

    写一个简单的demo打开浏览器看能否成功

    • webDriver的配置,下载chromedriver并解压到python的安装路径下
    • 再pycharm中编写代码,看能否成功打开chrome浏览器
    # 导入selenium的包
    from selenium import webdriver
    # 添加chrome的配置项
    options = webdriver.ChromeOptions()
    options.add_experimental_option('detach', True)
    # 打开chrome
    driver = webdriver.Chrome(options=options)
    
  3. 测试流程分析(把手工需要的操作全部用python代码来实现):

    1. 流程:进入网页>>>>>输入账号(1. 找到输入框,2. 输入用户名)>>>>输入密码>>>>>点击登录>>>>验证码>>>>选票>>>>买票

    2. 具体实现

      • 进入网页

        使用.get()方法进入该网页

        # 如访问12306的登录页
        driver.get('https://kyfw.12306.cn/otn/resources/login.html')
        
      • 输入账号

        两个步骤:

        • 找到输入账号的文本框find_element()
        • 输入要测试的账号send_keys()
        # 输入用户名,先找到登录框
        # 定位元素,操作
        driver.find_element('xpath','//*[@id="J-userName"]').send_keys('123456')
        
      • 输入密码

        # 定位输入密码文本框元素,输入密码
        driver.find_element('xpath','//*[@id="J-password"]').send_keys('xxxxxx')
        
      • 点击登录

        # 点击登录
        driver.find_element("xpath",'//*[@id="J-login"]').click()
        
      • 验证码

        driver.find_element("xpath",'//*[@id="id_card"]').send_keys('1713')
        # 点击获取验证码
        
      • 选票

      • 买票

    3. 几个技术

      1. 隐式等待

        # 所有找元素都会触发
        # 每隔1s找一次这个元素,如果没有找到就继续,知道配置时间过了还没找到就报错,中途找到就往下执行
        # 使用场景:用延迟加载的,还比如网络影响
        # 优点:加强自动化的稳定性
        
        1. 绕过自动化

          # 去掉自动化标识
          option = Options()
          option.add_experimental_option('excludeSwitches',['enables-automation'])
          option.add_argument('--disable-blink-features=AutomationControlled')
          
        2. 固定等待

          import time
          time.sleep(2)
          
  4. Selenium脚本的执行速度受多方面因素的影响,如网速,操作步骤的繁琐程度,页面加载的速度, Selenium保证元素成功率是通过元素的定位。不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。
    S

  5. 自动化测试的优点是能够很快、很广泛地查找缺陷,同时可以做很多重复性的工作,在回归测试阶段,我们可以利用自动化功能测试工具进行,而无须大量的软件测试人员手动的再次执行测试用例,极大的提高了工作效率。

文章来源:https://blog.csdn.net/weixin_52154534/article/details/134934289
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。