当前位置: 首页 > news >正文

g4560做网站服务器至设计网站

g4560做网站服务器,至设计网站,网站建设 资产,seoul national university前面已经把selenium的主要操作介绍完毕 ,接下来我们通过编写几条测试用例感受下selenium的用法 。 1.用例需求 还是以登录为例 ,需要实现的测试用例为 : case1:输入正确的用户名和密码进行登录case2 : 输入正确的用户名和错误的…

在这里插入图片描述

前面已经把selenium的主要操作介绍完毕 ,接下来我们通过编写几条测试用例感受下selenium的用法 。

1.用例需求

还是以登录为例 ,需要实现的测试用例为 :

  • case1:输入正确的用户名和密码进行登录
  • case2 : 输入正确的用户名和错误的密码登录
  • case3 : 输入正确的用户名和空的密码进行登录

以上登录的操作步骤为 :

  1. 点击首页的’登录’按钮,进入登录页面
  2. 输入正确的用户名
  3. 输入错误的密码
  4. 输入验证码
  5. 点击登录按钮
  6. 获取提示信息,并验证其信息 。

2.具体代码

在这里我们使用uninttest编写以上的3条用例 。

import unittest
from selenium import webdriver
import timeclass TestLogin(unittest.TestCase):def setUp(self) -> None:self.driver = webdriver.Chrome()self.driver.get("http://localhost")def tearDown(self) -> None:self.driver.quit()# case1 : 正确的用户名和正确的密码登录def test_login_success(self):# 1) 定位登录self.driver.find_element_by_link_text("登录").click()time.sleep(3)# 2) 输入用户名self.driver.find_element_by_id("username").send_keys("13988888888")# 3) 输入密码self.driver.find_element_by_name("password").send_keys("123456")# 4) 输入验证码self.driver.find_element_by_name("verify_code").send_keys("8888")time.sleep(1)# 5) 点击登录self.driver.find_element_by_class_name("J-login-submit").click()time.sleep(5)account_text = self.driver.find_element_by_link_text("13988888888").textself.assertEqual('13988888888',account_text)# case2 : 正确的用户名和错误的密码登录def test_password_is_wrong(self):# 1) 定位登录self.driver.find_element_by_link_text("登录").click()time.sleep(3)# 2) 输入用户名self.driver.find_element_by_id("username").send_keys("13988888888")# 3) 输入密码self.driver.find_element_by_name("password").send_keys("1234567")# 4) 输入验证码self.driver.find_element_by_name("verify_code").send_keys("8888")time.sleep(1)# 5) 点击登录self.driver.find_element_by_class_name("J-login-submit").click()time.sleep(3)password_error_msg = self.driver.find_element_by_class_name("layui-layer-content").textself.assertEqual("密码错误!",password_error_msg)# case3 : 正确的用户名和空的密码登录def test_password_is_null(self):# 1) 定位登录self.driver.find_element_by_link_text("登录").click()time.sleep(3)# 2) 输入用户名self.driver.find_element_by_id("username").send_keys("13988888888")# 3) 输入密码self.driver.find_element_by_name("password").send_keys("")# 4) 输入验证码self.driver.find_element_by_name("verify_code").send_keys("8888")time.sleep(1)# 5) 点击登录self.driver.find_element_by_class_name("J-login-submit").click()time.sleep(3)password_error_msg = self.driver.find_element_by_class_name("layui-layer-content").textself.assertEqual("密码不能为空!", password_error_msg)

3.具体问题

仔细观察的你 ,会发现以上编写方式是存在一些问题的 ,具体包括 :

  • 第一、代码步骤相同 ,只是数据不同 ,导致大量的冗余代码 ,一旦某一个步骤发生变化 ,就会导致全部的用例都跟着改变 。
  • 第二、同一元素对象也是多次被引用 ,比如定位输入用户名有3条用例都用到了 ,但若这个元素的属性或者值变了 ,同样需要改3处。
  • 第三、如果我将以上的操作封装为页面呢 ? 比如我把点击、输入框输入 、获取文本事件等都要开放给用户去编写 ,像编写Excel或者配置一样那样编写,又改如何解决呢 ?

那么 ,以上的三个问题又该如何解决呢 ?其实它们就是3个典型的问题 ,分别对应三个非常流行的技术 ,分别是 :

  • 代码步骤相同,步骤不同的问题 ,可以通过数据驱动(数据参数化)来解决 。python自动化测试框架中如何实现数据参数化?使用parameterized包帮你搞定它。 - 知乎 (zhihu.com)
  • 同一元素对象多次被引用 :可以通过po模型来解决
  • 把selenium操作事件进行封装后开放给用户 ,可以通过关键字驱动来解决 。

其中数据参数化已经介绍 ,这里不在赘述 ,剩下的po模型和关键字驱动放在后面章节介绍 。在这里插入图片描述

http://www.yayakq.cn/news/951458/

相关文章:

  • 南京培训网站建设网站开发用什么编辑器好点
  • 网站推广的方法及技巧品牌营销策略四种类型
  • 百度网站怎么申请注册淘宝网站的建设目的
  • wordpress主题官方网站湖南省第四工程公司官网
  • 代做土木工程专业毕业设计网站乡镇医院网站建设
  • 后盾网原创实战网站建设教程1-15123手机浏览器
  • 北京城乡建设部网站首页北京wordpress使用什么语言
  • 界首网站建设查询网站备案号app
  • 云服务器能放网站吗设计房子装修效果图软件
  • 做网站编辑好还是新媒体编辑台州汇客网站建设
  • 六安商业网站建设费用桂建云官网
  • 微网站建设方案财政海口手机建站模板
  • 在门户网站中营销者通过制作什么网页设计专业
  • 网站建设制作文案网站seo的推广计划
  • 青岛网站建设案例代做网站灰色关键词
  • 个人网站开发流程做的最好的手机网站
  • 网站建设实训总结报告正规货源网站大全
  • 高效网站推广公司效果好的网站建设
  • 做网站服务器的配置深圳做外贸网站公司哪家好
  • 为何公司做的网站很丑南京做网站软件
  • 一级a做爰片完整网站比较专业的app开发公司
  • 免费制作网站服务器全球中文网站排名
  • 邢台哪儿做wap网站好怎样创建快捷方式
  • 网站服务器指的是什么宣传片拍摄大纲
  • 欧普建站百度网址大全网址导航
  • 重庆网站建设价格南京哪家网站建设好
  • 高校思政教育工作网站建设wordpress扫码才能访问
  • 大厂建设局网站wordpress商城主题模板
  • 网页网站培训班wordpress网站导入
  • 阿里云网站建设方案书是什么我做的网站关键词到首页了没单子