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

网站开发目的简介网站的建设内容

网站开发目的简介,网站的建设内容,天津做美缝的网站,专门做985招聘信息的网站目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、自动化测试中隐…

目录:导读

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


前言

1、自动化测试中隐藏的元素如何操作?

面试中,我们经常会遇到“隐藏元素是如何操作的?”带着这个问题我们看下如何操作?

1)实现方法

针对隐藏因素的操作,常用的操作是通过JS脚本定位到该元素,获取对应的元素对象,再通过removeAttribute和setAttribute两个方法完成属性的删除或重新复制操作,使得当前元素处于显示状态即可。

2)实现案例

以下是自定义的一个HTML页面,该页面是一个登陆页面,其中用户名和登陆按钮都是隐藏的,如下:

<html>
<body>用户名:<input id="user_name" name="username" type="hidden" /><br>密码:<input id="pass_word" name="password" type="text" /><br><button type="button" name="login" class="login_but" style="display:none;" />
</body>
</html>

3)实现思路

#主要是使用JS脚本改变标签的属性值
hi_name = "document.getElementByID('user_name').setAttribute('type', 'text')"
print(driver.execute_script(hi_name ))driver.find_element_by_id('user_name').send_keys("admin")
print(driver.find_element_by_name("login"))driver.execute_script("document.getElementsClassName('login_but')[0].removeAttribute('style')")

2、三种元素等待方式如何理解?

在自动化测试中,会遇到一些比如环境不稳定、网络不稳定的因素,此时可能需要控制脚本执行速度,那么就需要用到元素等待操作。

其实不一定设置等待就好,各有利弊,以下是一些观点仅供参考。

1)强制等待

方法:

time.sleep(s)
# s表示具体时间,单位为秒。

含义:表示等待s秒后,进行下一步操作。直接使用python内置的time模块调用sleep方法即可。

说明:强制等待又称强制休眠。作用域为当前脚本。没过多行代码需要进行等待设置,那每行代码都需要进行相同的设置操作。

优缺点:

优缺点说明
优点使用简单,需要用时随时调用即可
缺点代码重复率高,且影响代码执行速率。不能精确设置等待时间,过长过段貌似都不合适

示例:

from selenium import webdriver
import timedriver = webdriver.Chrome()
driver.get("http://localhost/zentao/user-login.html")user_name = "$('input:first').val('admin')"
driver.execute_script(user_name)
time.sleep(0.5)pass_wd = "$(':password').val('ZenTao123456')"
driver.execute_script(pass_wd)
time.sleep(1)

2)隐式等待

方法:

driver.implicitly_wait(s)
# s表示具体时间,单位为秒。

含义:在s时间内,页面加载完成,进行下一步操作,直接通过浏览器驱动对象进行调用。

说明:隐式等待也称智能等待,也称全局等待。表示整个页面中的所有元素加载完才会执行,会根据内部设置的频率不断刷新页面继续加载并检测当前所执行的元素是否加载完成。

如果在设定的时间之前元素加载完成,则不会继续等待,继续执行下一步。

优缺点:

优缺点说明
优点对整个脚本的生命周期都起作用,只需要设置一次
缺点程序会一直等待加载完成,才会执行下一步,但有时想要的元素加载完了,其他的元素没有加载完,仍要等待全部加载完才进行下一步,不是很灵活,也有点费时间。

示例:

from selenium import webdriverdriver = webdriver.Chrome()
driver.get("http://localhost/zentao/user-login.html")
driver.implicitly_wait(10)user_name = "$('input:first').val('admin')"
driver.execute_script(user_name)pass_wd = "$(':password').val('ZenTao123456')"
driver.execute_script(pass_wd)

3)显式等待

方法:

# 导入包
from selenium.webdriver.support.wait import 
# 或者
from selenium.webdriver.support.ui import WebDriverWait

部分源码如下:

Class WebDriverWait(object):def __init__(self, driver, timeout, poll_frequency=POLL_FREQUENCY, ignored_exceptions=None):"""Constructor, takes a WebDriver instance and timeout in seconds.:Args:- driver - Instance of WebDriver (Ie, Firefox, Chrome or Remote)- timeout - Number of seconds before timing out- poll_frequency - sleep interval between callsBy default, it is 0.5 second.- ignored_exceptions - iterable structure of exception classes ignored during calls.By default, it contains NoSuchElementException only.Example:from selenium.webdriver.support.ui import WebDriverWait \n

参数说明:

参数说明
driver驱动器对象
timeout设置刷新页面的超时时间
poll_frequency页面刷新频率。默认0.5s
ignored_exceptions表示忽略异常,如无法找到元素则抛出NoSuchElementException异常

WebDriverWait模块有两个方法until和until_not:

def until(self, method, message=''):"""Calls the method provided with the driver as an argument until the \return value is not False."""screen = Nonestacktrace = Noneend_time = time.time() + self._timeoutwhile True:try:value = method(self._driver)if value:return valueexcept self._ignored_exceptions as exc:screen = getattr(exc, 'screen', None)stacktrace = getattr(exc, 'stacktrace', None)time.sleep(self._poll)if time.time() > end_time:breakraise TimeoutException(message, screen, stacktrace)
def until_not(self, method, message=''):"""Calls the method provided with the driver as an argument until the \return value is False."""end_time = time.time() + self._timeoutwhile True:try:value = method(self._driver)if not value:return valueexcept self._ignored_exceptions:return Truetime.sleep(self._poll)if time.time() > end_time:breakraise TimeoutException(message)

说明:
method:传入对象分两种,一种是匿名函数;另一种是预置条件对象expected_conditions。

message:当出现异常时,把异常信息给message;

expected_conditions方法通过from selenium.webdriver.support import expected_conditions引入。

含义:对单个元素设置一定的频率,使其按频率刷新当前页面并检测是都存在该元素。

3、WebDriverWait常用的几个方法?

1)判断元素是否被加入DOM树中,不可见

判断元素是否被加入DOM树中,并不代表元素可见,如果定位到就返回元素;

get_ele = WebDriverWait(driver,10).until(expected_conditions.\
presence_of_element_located(By.ID, "xxx"))

2)判断元素是否被加入到DOM中,并可见

判断元素是否被加入到DOM中,并可见,代表元素可显示,宽和高都大于0;

get_ele1 = WebDriverWait(driver,10).until(expected_conditions.visibility_of_elemen\
t_located((by=By.ID,value='yyy')))

3)判断元素是否可见

判断元素是否可见,可见返回该元素;

get_ele2 = WebDriverWait(driver,10).until(expected_conditions.visibility_of(driver\
.find_element(by=By.ID,value='zzz')))

4)判断是否至少有1个元素存在DOM树中

判断是否至少有1个元素存在DOM树中,如果定位到就返回列表:

get_ele3 = WebDriverWait(driver,10).until(expected_conditions.presence_of_all_elem\
ents_located(By.CSS_SELECTOR,'.boss')))

5)判断指定的元素的属性值中是否包含了预期的字符串

判断指定的元素的属性值中是否包含了预期的字符串,返回布尔值;

get_ele4 = WebDriverWait(driver,10).until(expected_conditions.text_to_be_present_i\
n_element_value(By.CSS_SELECTOR,'#su'))

6)判断指定的元素中是否包含了预期的字符串

判断指定的元素中是否包含了预期的字符串,返回布尔值;

get_ele5= WebDriverWait(driver,10).until(expected_conditions.text_to_be_present_i\
n_element(By.XPATH,"//#[@id='ul']", u'添加'))

7)判断元素是否存在DOM中或不可见

判断元素是否存在DOM中或不可见,如果可见,返回False,否则返回这个元素;

get_ele6= WebDriverWait(driver,10).until(expected_conditions.invisibility_of_elem\
ent_located(By.CSS_SELECTOR,'#su'))

8)判断元素是否可见且状态为enable

判断元素是否可见且状态为enable(代表可点击);

get_ele7= WebDriverWait(driver,10).until(expected_conditions.element_to_be_clicka\
ble(By.CSS_SELECTOR,'#su')).click()
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

生活中的成功不是偶然的,而是由无数个日夜艰辛努力换来的结果。只有通过不懈努力,不断学习,不断提升自己,才能在生活的道路上不断前行。

无论遭遇何种困境,都要坚定信心,保持勇气和毅力,继续前行。只要我们不放弃梦想,持之以恒地努力下去,就一定能够达到成功的彼岸。

成功不会轻易降临到每一个人身上,只有通过不断的拼搏、努力和坚韧的精神,才能够取得真正的成功。即使面临再多艰难险阻,也要坚持走下去。

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

相关文章:

  • 网站备案更改西安网站建设是什么
  • 旅游网站开发文献综述wordpress ftp上传
  • 网站上线 文案网站开发要怎么学
  • 西安市建设干部学校网站从传播的角度
  • 网站建设 美词毕业设计做网站 如何做
  • 网站开发实训心得国外网站推广软件
  • 郑州网站设计报价表表白网页链接大全
  • 外贸网站建设长沙网站后台更换首页图片
  • 全英文外贸网站建设广西网站建设渠道
  • 可以做关键词优化的免费网站去长沙旅游攻略及费用
  • 宁波网站建设哪家比较好沈阳网站建设索王道下拉
  • 青海服装网站建设公司电子商务网站建设与维护试卷
  • 苏州朗冠网站建设公司宜兴市建设局官方网站
  • 网站不收录怎么解决百度推广步骤
  • 网站网络投票建设步骤网站logo是什么意思
  • 网站建设与优化推广方案模板做竞价的网站需要做外部链接吗
  • 网站源码系统做网站有兼职的吗
  • 沈阳模板建站方案网站建设的基本流程
  • 做网站和SSH兰州网站建设怎么选
  • 品品牌牌建建设设网站网站开发开发优势
  • 湖北省和建设厅网站首页智慧团建电脑版入口
  • pe管网站建设 中企动力大地资源在线视频资源
  • 做网站的用处免费推客推广平台
  • 网站建设 经典书籍注册传媒公司流程和费用
  • 廊坊网站建设咨询青橙网络建设互联网站是什么
  • 长春优惠做网站西安企业招聘
  • 创建网站要找谁农业门户网站建设目标
  • 网站开发的晋升晋升空间路径北京网站制作设计与开发服务
  • 福建省建设资格注册中心网站网页模板图片
  • 怎么做自己的网站后台教程西安网站建设gj