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

怎么做网站啊检查目录遍历漏洞wordpress站点

怎么做网站啊,检查目录遍历漏洞wordpress站点,layui框架的wordpress,广州做蛋糕的网站UI自动化测试重点思考--装饰器 装饰器装饰器定义装饰器代码示例装饰器的执行如何将装饰器融合到pytest框架里面 生成器创建生成器生成器的定义如何将生成器融合到pytest框架里面 fixture#xff08;夹具#xff09;使用pytest fixture 中 scope 参数的详细解释 描述符的总结描… UI自动化测试重点思考--装饰器 装饰器装饰器定义装饰器代码示例装饰器的执行如何将装饰器融合到pytest框架里面 生成器创建生成器生成器的定义如何将生成器融合到pytest框架里面 fixture夹具使用pytest fixture 中 scope 参数的详细解释 描述符的总结描述符的定义描述符的作用 ddt数据驱动简单示例升级示例 多线程安装pytest-xdist 插件采用多线程编程 装饰器 装饰器定义 装饰器是一个函数A函数A的传参是函数B且函数A内部还有一个函数C且函数A返回一个函数C函数C是包含函数B的。 装饰器代码示例 def my_decorator(func):def wrapper():print(Something is happening before the function is called.)func()print(Something is happening after the function is called.)return wrappermy_decorator def say_hello():print(Hello!)say_hello()在这个例子中my_decorator 是一个装饰器函数它接受一个函数作为参数。wrapper 函数是由装饰器内部定义的一个新函数它包裹了原始的 say_hello 函数并添加了额外的功能。当调用 say_hello() 时实际上是调用了 wrapper 函数从而触发了装饰器中定义的操作。 装饰器的执行 当 Python 解释器执行到 my_decorator 时它会立即将被装饰的函数 say_hello 传递给 my_decorator 函数相当于执行了 say_hello my_decorator(say_hello)。在 my_decorator 函数内部它定义了一个内部函数 wrapper该函数包含了在被装饰函数调用前后需要执行的逻辑。当调用 say_hello() 时实际上是调用了 wrapper() 函数因为 say_hello 已经被重新指向了 wrapper 函数。在 wrapper 函数内部首先会执行装饰器定义的前置逻辑然后调用被装饰的函数 func()即调用原始的 say_hello 函数。在调用完被装饰函数后继续执行 wrapper 函数中的后置逻辑。 如何将装饰器融合到pytest框架里面 1.全局管理 driver运行测试用例的时候先调用 driver 传入测试用例中测试用例就可以使用 driver来操作浏览器了。 2.实现执行测试用例之前先登录或者先打开网址执行测试用例之后再自动登出的操作。 生成器 创建生成器 生成器推导式 gen (x ** 2 for x in range(1, 6))含有yield关键字 def squares(n):for i in range(1, n 1):yield i ** 2print(这里被挤出了一个糖) gensquares(5)定义了一个名为 squares 的函数该函数接受一个整数 n 作为参数。在函数内部使用 yield 语句来生成从 1 到 n 的整数的平方值并在最后打印一条信息 “这里被挤出了一个糖”。 生成器的定义 1.只要是实现了yield关键字的函数都是一个生成器 2.生成器的特点是当调用者执行到yield就会卡住然后把yield后面的参数返回给调用者 3.当接收到next()函数的命令的时候才会执行yield关键字下面的代码 如何将生成器融合到pytest框架里面 1.自动登录登出中要使用生成器 实现了执行测试用例之前先执行前置操作【登录】【因为有装饰器】直到代码运行到有 yield 关键字的时候才会卡住当执行完测试用例之后pytest 自动调用 next 函数才会去执行 yield 关键字后的后置操作【登出】。 fixture夹具使用 pytest fixture 中 scope 参数的详细解释 Scope 参数值描述function每个测试函数都会调用一次 fixture 函数并且在测试函数执行完毕后立即销毁。class在测试类中的所有测试方法之间共享 fixturefixture 在第一个测试方法运行前创建在最后一个测试方法运行后销毁。module在整个测试模块中共享 fixturefixture 在第一个测试函数运行前创建在最后一个测试函数运行后销毁。session在整个 pytest 会话期间共享 fixturefixture 在 pytest 启动时创建在 pytest 结束时销毁。 描述符的总结 描述符的定义 描述符是实现了特定协议的类它至少包含 get()、set() 和 delete() 中的一个方法。 描述符的作用 描述符可以用于控制对类的属性的访问、修改和删除允许你在属性被访问、修改或删除时执行自定义的逻辑。 class PageElement:def __get__(self, instance, owner):print(Getting the value)return instance.__dict__.get(self.attr_name, None)def __set__(self, instance, value):print(Setting the value)instance.__dict__[self.attr_name] valuedef __delete__(self, instance):print(Deleting the value)del instance.__dict__[self.attr_name]class Page:element PageElement()def __init__(self):self.element Nonepropertydef element(self):return self._elementelement.setterdef element(self, value):self._element value# 示例用法 page Page() page.element Hello # 设置属性值调用 PageElement.__set__() print(page.element) # 获取属性值调用 PageElement.__get__() del page.element # 删除属性值调用 PageElement.__delete__()ddt数据驱动 简单示例 import pytest import timepytest.mark.smoke pytest.mark.parametrize(username, password, [(user1, DasSWOLd),(user2, pass2),(wzz, 12345) ]) def test_001(self, drivers, username, password):zhufeng ZhuifengIndexPage(drivers)zhufeng.input_account(username)zhufeng.input_password(password)zhufeng.click_login_button()time.sleep(3)pytest.mark.smoke是一个 pytest 的标记用于标记测试用例为 smoke 测试表示这是一个简单的冒烟测试主要验证系统的基本功能。pytest.mark.parametrize(‘username, password’, […])是 pytest 提供的一个装饰器用于为测试用例提供多组参数数据。测试用例 test_001(self, drivers, username, password)这是一个测试方法其参数包括 drivers、usernausername 和 password 是测试数据由 pytest.mark.parametrize 提供。me 和 password。 升级示例 def read_csv_file(file_path):生成器方式去读取csv里面的数据来做数据驱动测试yield关键字来控制一行一行的读取字典里面的内容字典里面的数据是隐形的还未产生就和奶糖盒子一样的道理with open(file_path, r, newline) as file:reader csv.DictReader(file) # 这是一个迭代器对象把每次读取出来的数据都放到字典里面存起来下面用一个for循环一次一次的去读取字典里面的数据确保不会一次性将所有的数据读取到内存中。for row in reader: # 如过下面没有生成器那么这里直接全部数据都遍历一遍如果有生成器就会卡住一个一个来接收到next方法才会读取下一行。yield row[username], row[password]pytest.mark.smoke pytest.mark.parametrize(username, password, read_csv_file(rdata/data.csv)) def test_001(drivers, username, password):zhufeng zhuifeng_index_page(drivers)zhufeng.input_account usernamezhufeng.input_password password# zhufeng.log_in_button.click()zhufeng.click_log_in_button# assert drivers.current_url https://exam.wzzz.fun1.read_csv_file 函数 这是一个生成器函数用于逐行读取 CSV 文件中的数据。使用 yield 关键字每次从文件中读取一行数据并返回一个包含用户名和密码的元组。 pytest.mark.parametrize(‘username, password’, read_csv_file(r’data/data.csv’)) 使用 pytest.mark.parametrize 装饰器标记测试用例并提供了多组用户名和密码的数据源。数据源来自于 read_csv_file 函数返回的生成器通过调用 read_csv_file 函数来读取 CSV文件中的数据并将其作为参数传递给测试用例。 3.def test_001(drivers, username, password):在测试方法中首先创建了一个 zhufeng_index_page 对象然后输入了用户名和密码并点击了登录按钮注释掉的部分这个测试方法会被 pytest.mark.parametrize 多次调用每次调用时传入不同的用户名和密码数据。 多线程 安装pytest-xdist 插件 pip install pytest-xdist采用多线程编程 1、可以使用 threading 线程来指定要并发执行的测试用例但是用例数量一旦多了就不好去人工分配哪一个线程执行那部分用例这时候可以使用插件 pytest-xdist执行 pytest-n5就好了使用多少个线程并发执行还是得看电脑性能如何一般使用10~20 个线程为最佳在自己电脑上就使用5个线程就好了。 2、多线程并发执行用例相当于多个人同时进行测试宏观上是这样的不过微观上对于 cpu 都是串行的只是调度每一个线程的速度非常快看起来是并发的而己因为只有一个cpu同一时刻只能执行一个线程如果有多个cpu 才能真正意义上实现多个测试用例并发执行不过对于测试而言无伤大雅我们了解原理即可我们主要重在使用。
http://www.hkea.cn/news/14592347/

相关文章:

  • 饶阳网站建设html项目模板下载
  • 如何用php做电商网站WordPress导航条之间得跳转
  • 山西住房建设厅网站湖州微网站建设
  • 酒店品牌网站建设推广wordpress高仿主题
  • 网站建设规划书怎么写营销网站建设公司有哪些
  • 网站管理助手3.0设计素材网站哪个最好免费
  • 青岛制作网站哪家公司好建站平台 做网站
  • 注册网站一年多少钱wordpress只能下载一个文件
  • 厦门上网站设计建设wordpress 微信
  • 服务周到的上海网站建设公老闵行小学排名
  • 网站建设技术方面平台网站建设需求
  • 做网站是如何实施的网站平台做推广
  • 在哪个网站做外快设计定制网站建设服务
  • 江苏网站seo平台湖北企业建站系统信息
  • 儿童 网站 设计wordpress购物主题
  • 网站空间要备案吗建筑模板公司
  • 不错的网站建设公seo的优化步骤
  • 怎么给公司免费做网站济南三合一网站建设
  • 网站死了怎么办做网站开发的是不是程序员
  • 利用免费网站做SEO建设银行悦生活网站
  • 上海缘魁网站建设做平面哪个网站的素材最好
  • 请问聊城网站建设邢台区域最新调整
  • 广州品牌型网站10m网站空间
  • 招聘网站销售怎么做网上下的网站模版后门
  • 深圳坂田做网站互联网销售平台
  • 房价2024年暴跌排名优化怎么做
  • wap网站开发多少钱wordpress博客推荐
  • 中小企业网站开发韵茵网址转化短链接
  • 网站建设推广选stso88效果好代刷网站是怎么做的
  • 网站切换语言怎么做wordpress当前菜单