首页 > 编程语言 >python 自动化测试案例

python 自动化测试案例

时间:2023-05-08 16:12:43浏览次数:51  
标签:python self driver id 案例 自动化 input element find

使用 Selenium 与 unittest 框架的自动化测试案例,可以用来模拟浏览器自动打开网站并提交表单:

在下述代码中,我们定义了一个继承自 unittest.TestCase 的测试类 TestLoginForm,其中 setUp() 方法在每个测试方法执行前会调用,用来启动浏览器并打开测试用网站。tearDown() 方法在每个测试方法执行后会调用,用来关闭浏览器。

test_login_successful() 和 test_login_failed() 分别表示登录成功和登录失败的测试方法。在测试方法中,我们首先使用 Selenium 的 find_element_by_id() 方法获取用户名、密码和提交按钮的输入框。然后输入对应的数据并点击提交按钮。最后,我们使用 Python 的 assertEqual() 断言方法来验证测试结果是否符合预期。如果断言失败则会输出对应的错误信息。

使用 unittest 框架可以方便地对多个测试用例进行管理和执行,并输出详细的测试报告。

import unittest
from selenium import webdriver

class TestLoginForm(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.get("http://example.com/login")

    def tearDown(self):
        self.driver.quit()

    def test_login_successful(self):
        username_input = self.driver.find_element_by_id("username")
        password_input = self.driver.find_element_by_id("password")
        submit_button = self.driver.find_element_by_id("submit")

        # 输入用户名和密码
        username_input.send_keys("testuser")
        password_input.send_keys("testpassword")

        # 提交表单
        submit_button.click()

        # 验证登录是否成功,例如检查是否跳转至了登录后的页面
        self.assertEqual(self.driver.current_url, "http://example.com/dashboard", "登录成功后跳转失败")

    def test_login_failed(self):
        username_input = self.driver.find_element_by_id("username")
        password_input = self.driver.find_element_by_id("password")
        submit_button = self.driver.find_element_by_id("submit")

        # 输入错误的用户名和密码
        username_input.send_keys("invaliduser")
        password_input.send_keys("invalidpassword")

        # 提交表单
        submit_button.click()

        # 验证是否显示错误信息
        error_message = self.driver.find_element_by_id("error-message").text
        self.assertEqual(error_message, "用户名或密码错误", "错误信息不正确")

 

标签:python,self,driver,id,案例,自动化,input,element,find
From: https://www.cnblogs.com/wzcc/p/17382107.html

相关文章

  • 平台测开和自动化的区别是啥
    测开:(代码能力需要达到开发)1.平台测开(开发平台)2.业务测开(平台的应用者)我们现在说的测开,一般都是指的是:平台测开。这要求大家需要有开发的技术,也要有测试的思维。着一般都是开发转的测开,因为测试人员要动开发还是比较难。 自动化:一般是只写测试用例,还能搭建自动化框架的。......
  • python selenium 谷歌浏览器指定下载位置
    pythonselenium谷歌浏览器指定下载位置功能pythonselenium点击浏览器的下载按钮,然后下载到指定的目录,而非下载到默认位置代码importos.pathfromtimeimportsleepfromseleniumimportwebdriverfromselenium.webdriver.common.byimportBy"""指定默认下载路径,......
  • 昇腾实战丨DVPP媒体数据处理视频解码问题案例
    摘要:本期就分享几个关于DVPP视频解码问题的典型案例,并给出原因分析及解决方法本文分享自华为云社区《DVPP媒体数据处理视频解码问题案例》,作者:昇腾CANN。DVPP(DigitalVisionPre-Processing)是昇腾AI处理器内置的图像处理单元,通过AscendCL媒体数据处理接口提供强大的媒体处理硬......
  • Python处理文档中的文本
    提取所有Word文档中的指定部分内容,并合并到一个txt文件中:importglobimportdocxdefget_text_between_headings(doc,heading1,heading2):start=-1end=-1foriinrange(len(doc.paragraphs)):ifdoc.paragraphs[i].text==heading1:......
  • 字节面试官心声:个个都说会自动化,结果面试一问细节全露馅了
    今年部门要招三个自动化测试,年前我面试了几十位候选人。发现一个很奇怪的现象,面试中一问到元素定位、框架api、脚本编写之类的,很多候选人都对答如流。但是一问到实际项目,比如“如何从0开始搭建自动化体系”、“如果让你来推广自动化,该如何设计方案”。大多数人都避重就轻、含糊其......
  • Linux基础19 Gdisk, 挂载命令mount与配置文件, fstab文件的详细信息, Swap介绍与案例,
    gdiskgdisk分区,分区表是GPT,支持更大的容量分区。128个。#需要安装[root@oldboy~]#yuminstall-ygdisk 1.添加硬盘,3TB在vmware里面添加2.查看是否能识别出来。[root@oldboy~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0050G0disk......
  • C++和Python && 和||运算符之不同点
    ......
  • How to use Linux command or Python code get Raspberry PI's Temperature All In On
    HowtouseLinuxcommandorPythoncodegetRaspberryPI'sTemperatureAllInOne如何使用Linux命令或Python代码获取RaspberryPI的温度raspberrypicheckthetemperatureimportgpiozeroasgz#readthetemperatureintoavariable:cpu_temp=gz.CPUTe......
  • python 下载并显示图片
    fromPILimportImage,ImageTkimportrequestsimporttkinter#导入Tkinter模块#importtkpaa='aaa.gif'url='http://www.baidu.com/img/baidu_jgylogo3.gif'defdownLoadImage(name,url):r=requests.get(url)#printr.c......
  • Python备忘录
    记录使用Python时的点滴。Author:[email protected]:2023.05.0812:20:00LastModified:2023.05.0812:23:001.Python在Windows下的补全pipinstallpyreadline32.操作注册表:winreg模块包括且不限于如下作用:获取实时更新的环境变量取值......