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

企业网站建设和运营百度站长平台有哪些功能

企业网站建设和运营,百度站长平台有哪些功能,制标易logo设计,移动健康app下载目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Po模型介绍 1、简…

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

Po模型介绍

1、简介
在自动化中,Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相同),通常PO模型可以大大提高测试用例的维护效率

2、为什么要用PO
基于selenium2开始ui自动化测试脚本的编写不是多么艰巨的任务。只需要定位到元素,执行对应元素的操作即可。

我们所能做的就是元素的定位,然后进行键盘输入或鼠标动作。但随着时间的迁移,测试套件将持续的增长。脚本也将变的越来越多。如果我们需要维护10个页面,100个页面,甚至1000个呢?

那么页面元素的任何改变都会让我们的脚本维护变得繁琐复杂,而且变得耗时易出错。那怎么解决呢?

ui自动化中,常用的一种方式,引入Page Object(PO):页面对象模式来解决,po能让我们的测试代码变得可读性更好,可维护性高,复用性高。

3、PO的优势
PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰。
页面对象与用例分离,使得我们更好的复用对象。
可复用的页面方法代码会变得更加优化
更加有效的命名方式使得我们更加清晰的知道方法所操作的UI元素。

重用,业务和对象分离,代码结构清晰,方便代码维护

Po的设计模式

31
33

PO的核心要素

1、在PO模式中抽离封装集成一个BasePage类,该基类应该拥有一个只实现webdriver实例的属性

2、每一个page都继承BasePage,通过driver来管理本page中元素,将page中的操作封装成一个个方法

3、TestCase继承unittest.Testcase类,并依赖page类,从而实现相应的测试步骤

PO设计模式中的BasePage基类对应案例中的BasePage.py文件
PO模式中的pages中的案例显示Search.py
PO模式设计中TestCase对应案例中的TestCase.py

32

非PO实现

# 代码展示
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("jack")
sleep(1)
driver.find_element_by_id("su").click()
sleep(2)
driver.quit()

代码分析:
不同的运行脚本环境,游览器不同:驱动webdriver.Firefox()可以剥离;
请求地址的变化(生产环境和测试环境):url = http://www.baidu.com可以剥离;

操作元素时,常常要等待元素加载完成方可进行操作:可以把webdriver提供的find_element*方法封装,在元素操作前,先判断元素是否可以操作;

实际测试场景中,可能有多个测试场景,如果每个测试场景都需要维护url,游览器驱动,元素定位等,效率会非常低;

因此基于以上分析,是否可以设计一个所有测试界面(selenium本身是B/S系统开展测试)的基类,来维护公共的方法,此处定义名字为BasePage.py,用于存放页面公共方法及webdriver原有方法二次封装等。

PO实现(多个 page界面)

1、Base基类(base.py)

from selenium.webdriver.common.action_chains import ActionChains  # 鼠标操作class BasePage():"""初始化方法"""def __init__(self, dir, url):self.dir = dir  self.url = url  """进入网址的方法"""def enter_url(self):self.dir.get(self.url)"""定位元素"""def find_element(self, *args):return self.dir.find_element(*args)"""点击"""def click_element(self, *args):ActionChains(self.dir).click(self.find_element(*args)).perform()"""输入"""def send_element(self, text, *args):self.dir.find_element(*args).send_keys(text)"""清除"""def clear_element(self, *args):self.dir.find_element(*args).clear()"""表单切换"""def switch_iframe(self, *args):self.dir.switch_to.frame(self.dir.find_element(*args))"""窗口切换"""def switch_window(self, n):self.dir.switch_to.window(self.dir.window_handles[n])

2、Pages查找页面元素类(hao.py和bddt.py)

# hao.py
from Base.base import BasePage
from selenium.webdriver.common.by import By
from selenium import webdriverclass SearchPage(BasePage):"""初始化"""def __init__(self, dir, url):BasePage.__init__(self, dir, url)"""进入百度"""def enter_bd(self):self.enter_url()"""输入搜索内容"""def ssnr(self, text):self.send_element(text, By.ID, "kw")"""点击百度一下按钮"""def clickff(self):self.click_element(By.ID, "su")
# bddt.py
from Base.base import BasePage
from selenium.webdriver.common.by import By
from selenium import webdriverclass SearchPage2(BasePage):"""初始化"""def __init__(self, dir, url):BasePage.__init__(self, dir, url)"""点击进入hao123"""def clickenter(self):self.click_element(By.CSS_SELECTOR, ".t>a")"""切换句柄hao123"""def qiehuan(self, n):self.switch_window(n)"""点击百度地图"""def clickbddt(self):self.click_element(By.CSS_SELECTOR, ".js_bd > li:nth-child(6) > div:nth-child(1) > a:nth-child(1)")

3、Case测试用例(test001.py)

import unittest
from selenium import webdriver
from Pages.hao import SearchPage
from Pages.bddt import SearchPage2
import timeclass Test01Class(unittest.TestCase):@classmethoddef setUpClass(cls) -> None:cls.dir = webdriver.Firefox()cls.dir.implicitly_wait(30)def test01(self):url = "http://www.baidu.com"s = SearchPage(self.dir, url)s.enter_bd()s.ssnr("123")s.clickff()# self.dir.switch_to.window(self.dir.window_handles[-1])def test02(self):url = ""b = SearchPage2(self.dir, url)b.clickenter()b.qiehuan(1)time.sleep(10)b.clickbddt()@classmethoddef tearDownClass(cls) -> None:cls.dir.quit()passif __name__ == '__main__':unittest.main()
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

燃起心中的火焰,努力奋斗不止,坚持才能超越自我。困难是成长的催化剂,挑战是前进的动力源。勇敢迈步,创造未来,在奋斗中绽放永不熄灭的光芒!

梦想是奋斗的起点,努力是成就的密码,不屈不挠是成功的基石。放飞心灵的翅膀,勇往直前,书写属于自己的辉煌传奇!坚守初心,超越极限,奋斗出荣耀,绽放出人生的绚丽篇章!

脚步不停,追逐梦想的轨迹,奋斗是拥抱未来的钥匙。信念如火,决心助力,只有拼搏才能绽放人生的辉煌。勇往直前,砥砺前行,执着奋斗,终将书写属于自己的壮丽传奇!

http://www.hkea.cn/news/231611/

相关文章:

  • 网站建设实施背景分析百度指数里的资讯指数是什么
  • 小程序定制开发深圳公司网站的优化seo
  • 构建一个网站域名查询平台
  • 蚌埠网站关键词优化推广下载
  • 看房地产的app在哪看aso安卓优化
  • 网站与域名的区别扬州整站seo
  • 哪些网站可以进行域名注册公司关键词seo
  • 如何申请一个网站 做视频百度小说搜索热度排行榜
  • 天津做网站选择津坤科技b重庆seo教程搜索引擎优化
  • 什么网站做热能表好百度一下电脑版首页网址
  • 点击图片直接进入网站怎么做如何使用免费b站推广网站
  • 手机网站建设软件怎么在百度上做广告推广
  • 南京做网站团队手机app免费制作平台
  • 17173游戏网搜索优化指的是什么
  • 公司做网站需要给百度交钱吗百度竞价推广方案
  • 网站建设的关键seo推广小分享
  • 写小说的小网站百度关键词排名优化
  • 制作网站的成本规划公司如何建立网站
  • html语言做网站石嘴山网站seo
  • 做最好的言情网站官网seo优化
  • 云南建设监理协会网站营销失败案例分析
  • 怎么样做淘宝优惠券网站搜索引擎营销的优缺点
  • wordpress动态订单seo社区
  • 网站域没到期不能续费吗google谷歌搜索
  • 厦门好的做网站公司网络营销推广方式都有哪些
  • 重庆市建设工程信息官网站自己做网站的流程
  • 网站建设公司怎么做网络营销网站推广
  • 360应用商店seo服务套餐
  • 废橡胶网站建设个人博客网页设计
  • 什么网站做一手项目好域名查询官网