数组(1174536086)←v是有序的元素序列。用于差异数组的各个元素的数字编号称为下标。若将有限个类型相同的变量的集结命名,那么这个名称为数组名。数组是一个固定长度的存储相同数据类型的数据结构,数组中的元素被存储在一段连续的内存空间中。组成数组的各个变量称为数组的重量,数组是在程序设计中,为了处理便当, 把具有相同类型的若干元素按有序的办法组织起来的一种办法。也称为数组的元素,有时也称为下标变量。这些有序摆放的同类数据元素的集结叫数组。它是最简单的数据结构之一,大多数现代编程语言都内置数组支持

元素定位的八种办法是什么

1.id -- dr.find_element_by_id

2.name -- dr.find_element_by_name

3.class_name -- dr.find_element_by_class_name

4.link_text -- dr.find_element_by_link_text

5.partail_link_text -- dr.find_element_by_partial_link_text

6.tag_name -- dr.find_element_by_tag_name

7.xpath  -- dr.find_element_by_xpath()

8.css_selector -- dr.find_element_by_css_selector

用那个办法判别元素是否显示

is_displayed()

怎么切换iframe

switch_to.frame(iframe)

切换到默许表单(主页面)

switch_to_default_content()

获取一切窗口:dr.window_handles

切换窗口:switch_to.window(windows[1])

鼠标悬停的办法是什么

#导入类:ActionChains()

#from selenium.webdriver import ActionChains

#move_to_element() --移动到指定的元素

#perform() -- 让悬停收效

怎么定位下拉框的3种办法

1.select_by_index(索引位) ---根据索引挑选

2.select_by_value(“value的值”) --根据value的属性值挑选

3.select_by_visible_text(“课件的文本信息”) --根据可见的文本信息挑选

怎么获取弹出正告框的text

dr.switch_to.alert.text

dr.switch_to.alert.text 回来告警信息中的文字信息。

dr.switch_to.alert.accept()点击承认按钮。

dr.switch_to.alert.dismiss()点击取消按钮。

13、元素定位失利的原因

1)等候时刻太短

2)元素不仅有

3)元素值是动态值

4)元素在别的一个表单

5)元素在别的一个页面

6)元素在前端是躲藏元素

selenium的工作原理是什么?

webdriver是按照server - client (C/S)的经典规划形式规划的。server端便是remote server,可所以恣意的浏览器。当咱们的脚本启动浏览器后,该浏览器便是remote server,  它的责任便是等候client发送恳求并做出相应。client端简略说来便是咱们的测验代码,测验代码中的一-些行为,转跳到特定的url等操作是以http恳求的办法发送给被测验浏览器,并履行相应操作,并在response中回来履行状态、回来值等信息。

主动化测验怎么做?

主动化测验,是在手艺测验之后进行的,是将手艺测验用例转化为主动化测验脚本,用于回归测验。

首要,咱们会对手艺测验用例进行评价,一般选取正常场景的,杂乱度不高,复用性高手艺测验用例来转化为脚本,由于,用例越杂乱,脚本越难保护。咱们是用selenium东西来完成主动化,采用python脚本语言,根据unittest结构完成。首要,咱们会构建测验套,测验套包含public部分(包含测验用例中公共的部分),testCases(寄存测验用例),reports(寄存测验陈述),runAllCases(用于运转项目主动化用例),脚本调试完后,每天都会在jenkins(持续集式东西)中跑一次,跑完后生成html格局的主动化测验成果,然后,查看测验成果中有没有失利的脚本,假如失利,就定位一下脚本失利的原因,(失利的原因:

1)、可能是测验环境不稳定(加入隐式等候时刻);

2)、开发修正了代码没通知到测验人员修正脚本;(找开发来确认下问题)

3)、开发引入了新的问题),假如是脚本问题,就修正脚本,假如是系统的问题,就提交问题单。

测验脚本用到了哪些技能?

参考答案:元素定位,表单切换,模块调用,获取指定文本信息等等,脚本是根据python自带的unittest单元测验结构,采用了模块化办法编写,把复用性高的元素封装到模块中,假如脚本需求用到对应的元素,直接调用就能够了,减少了冗余代码,假如元素发生变化,只需求调整元素封装的代码就能够了,进步测验用例的可保护性。

脚本怎么安排的?

参考答案:构建测验套,测验套包含public部分(包含测验用例中公共的部分),testCases(寄存测验用例),reports(寄存测验陈述),runAllCases(用于运转项目主动化用例),测验脚本运用的是python的unittest单元测验结构安排管理,将一切测验脚本经过单元测验结构安排起来运转,这样做的优点是,保护起来方便,能够生成测验html格局的测验陈述,陈述包含:测验用例,经过数,失利数。

unittest结构内容:

unittest结构,由setUp()--环境预置,testCase()--- 测验用例 tearDown()----环境康复,三大部分组成,unittest结构可安排履行测验用例,而且供给丰厚的断语办法,判别测验用例是否经过,最终生成测验成果。

系统假如有验证码该怎么做?

找开发要么把验证码屏蔽掉,要么供给个万能验证码。

什么样的项目适合做主动化

主动化测验,适用于项目周期长,版本多,界面元素稳定的项目。

为什么会生成HTML陈述

由于运用时导入的是html的包

xpath和CSS定位办法的区别:

1、语法不一样;

2、CSS定位比较稳定。

python3 的数据类型有哪些?

Number(数字)

String(字符串)

List(列表)

Tuple(元组)

Sets(调集)

Dictionary(字典)

不行变数据(四个):Number(数字)、String(字符串)、Tuple(元组)、Sets(调集);

可变数据(两个):List(列表)、Dictionary(字典)。

相关的编程问题:

怎么用python来编程99乘法表:

for i in range(1,10);

for j in range(1,i+1);

outputstr=str(i)+"*"+str(j)+"="+str(i*j)

print(outputstr,end="")

if i==j:

print("")

登录操作的主动化脚本:

(Public部分)

from selenium import webdriver

from time import sleep

Def login(self,username,password):

self.dr=webdriver.chrome()        --初始化浏览器

self.dr.get(‘http://www.so.com’) --翻开浏览器

--元素定位:

Self.dr.find_element_by_xpath(‘//*[@id="user-login"]’).click()

Self.dr.find_element_by_name(‘username’).send_keys(‘admin’)

Self.dr.find_element_by_name(‘password’).send_keys(‘123456’)

Self.dr.find_element_by_class_name(‘us_submit’).click()

--呼应时刻

sleep(5)

--关闭浏览器

def logout(self):

sleep(3)

self.dr.quit()

testcase部分:

import unittest                --导入结构

from selenium import webriver  --导包

from time import sleep        --导入呼应时刻

import sys                    --导入公共类寄存路径

Sys.path.append(‘E:/pycharm 5.0.3/ECshop/public’)

from public import *            --导入公共类

Class MyTestCase(unittest.testcase):  --定义结构

def setup(self):                      --环境预置

login(self,’admin’,’123456’)

def test_登录(self):                --测验用例

sleep(2)

self.assertEqual(true,true)            --添加断语

def teardown(self):                    --环境康复

sleep(3)

self.dr.quit()

if_name_==’_main_’:                --内置变量,可用于表明当时模块的姓名,也能够理解为                                                                          程序入口,不行被运转.

unittest.main()

《扩展常识》

怎么确保测验用例的稳定性?

1.装修器与犯错重试机制确保稳定性:

装修器,表现形式为,在办法(或者类)的上面加上@xxx这样的句子,

能够经过传入重试次数(times)和重试等候时刻(wait_time),对  待测用例实施重试机制。

在测验结构pytest里,现已完成了有关犯错重试的战略,咱们首要需求装置一个pytest-rerunfailures插件。

(A)假如你需求将此机制运用到一切的用例上,那么请在履行的时候运用如下命令(reruns是重试次数):

pytest --reruns 5

(B)假如你期望加上犯错重试的等候时刻,请运用如下命令(reruns-delay是等候时刻):

pytest --reruns 5 --reruns-delay 1

(C)假如你只想对某几个测验用例运用重试战略,你能够运用装修器:

@pytest.mark.flaky(reruns=5, reruns_delay=2)

.

2.测验用例分层机制确保可保护性.(比方模块封装调用等)

模块化程序规划的优点:

1.把一个多功能的杂乱的程序划分为若干个简略的、功能单一的程序模块。使程序的结构层次一目了然, 进步了程序的阅读性和可靠性.

2.有利于程序的规划,调试,优化和分工.

可能触及的相关词汇:

写脚本的love准则:locate(定位),operate(操作),verify(断语),except(反常处理)。

翻开恣意网页界面,按F12后显示网页源代码,可能触及的词汇:

elements(元素),console(控制台),sources(源值),network(网络),performace(功能),memory(存储),application(运用程序),security(安全保护),audits(审阅).

作者:永杰gg
链接:https://www.jianshu.com/p/397c04267764
来源:简书
著作权归作者一切。商业转载请联络作者获得授权,非商业转载请注明出处。

软件测试之柠檬班python全栈自动化50期测试笔记相关推荐

  1. 软件测试-柠檬班python全栈自动化50期测试学习笔记分享

    数组(1174536086)←v是有序的元素序列.用于差异数组的各个元素的数字编号称为下标.若将有限个类型相同的变量的集结命名,那么这个名称为数组名.数组是一个固定长度的存储相同数据类型的数据结构,数 ...

  2. 老男孩python全栈第9期

    课程日期:2017年12月-2018年4月共172g 视频+源码+素材+软件无压缩无加密 全栈9期(第一部分):基础+模块+面向对象+网络编程 全栈9期(第二部分):并发编程+数据库+前端 全栈9期( ...

  3. [码尚教育]Python全栈自动化VIP课程对标大厂标准(挑战年薪40万)

    目录 一.什么是低效率的软件测试? 二.什么是高效率的软件测试? 三.如何做到高效率的软件测试? 1.流程管理 2.环境和平台 3.工具 4.自动化 5.人员能力 一.什么是低效率的软件测试? 我们首 ...

  4. python全栈第21期_2019 Python最新基础入门(全栈21期)

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2019 Python最新基础入门(全栈21期) 01s21开班仪式 开班入学必听Alex大神讲行业前景1 .mp4 开班入学必听Alex大神讲行业前景2 ...

  5. 最新《老男孩Python全栈开发15期VIP项目实战》

    下载地址: 百度网盘 ├─day01 │  │  01(1).pdf │  │  01.pdf │  │   │  ├─code │  │      01 今日主要内容 │  │      01 今日 ...

  6. 柠檬班python自动化视频百度云_python自动化装逼指南1-装饰器详解

    这篇文章由柠檬班Python全栈自动化学员 重庆--圆滚滚童鞋分享的一篇技术共享文章. 话不多说,直接上文章 一. 装饰器原则: 1. 不能修改被装饰函数的源代码 2. 不能修改被装饰函数的调用方法 ...

  7. python全栈工程师完整版视频教程

    来源: 来自网络,如侵权请告知博主删除????. 仅学习使用,请勿用于其他-  今天给大家分享一套Python全栈学习的视频,从目录可以看出真的太全面了~ day01-python 全栈开发-基础篇 ...

  8. python全栈开发百度云_Python全栈开发9期视频

    Python全栈开发9期视频 获取教程链接的步骤 2. 用微博或QQ登录编程资源库网站 3.点击兑换按钮,兑换百度云链接 教程要积分! 声明 教程由粉丝投稿,仅供学习和交流,侵删 以下凑字数!请自行忽 ...

  9. python全栈开发工程师_【2018重磅巨献】老男孩Python高级全栈开发工程师第三期...

    2018年老男孩python全栈第三期老男孩python全栈3期 老男孩教育Python全栈开发为国内首家专注python全方面开发的教育机构 老男孩Python全栈第三期课程详细目录,高清不加密! ...

最新文章

  1. sql2000 的bcp命令
  2. 应用监控指标采集器 Prometheus 核心介绍
  3. java接口注入对象的意义_Java Web系列:Spring依赖注入基础
  4. Java 斐波那契数列
  5. rasa算法_(十八)基于RASA开始中文机器人实现机制
  6. 智慧能源管理控制系统项目软件供应商
  7. PySpark任务在YARN集群上运行python 算法
  8. OpenCV 基本模块
  9. windows端口配置
  10. 中央处理器cpu主要由什么组成?
  11. 十六进制颜色与RGB颜色转换
  12. linux怎么越狱苹果手机,苹果手机能不能安装deb?苹果手机越狱后怎么安装deb文件...
  13. 扯淡: 什么是团队精神 管理 沟通
  14. ICCV 2021 | 视觉Transformer中的相对位置编码
  15. Java集合之Set集合
  16. javascript:window.scroll()函数behavior属性smooth属性值在iphone浏览器上不兼容
  17. 前端路线--H5篇(day04)
  18. STM32控制舵机转动_从0到1
  19. 基于移动互联网的订餐APP系统设计与实现
  20. G-Lexicographically Minimum Walk[CF-Gym-102391][2019-2020 XX Open Cup, Grand Prix of Korea]

热门文章

  1. 华中科技大学计算机视觉张朋,计算机视觉与深度学习前沿研讨会圆满举办
  2. 重磅推出:2019中国开源年度报告
  3. 去除照片模糊的有效方法——像素重建与修复
  4. html表格上只有竖边框,html中画表格让表格只有横边框没有竖边框.doc
  5. 现代处理器的设计思想
  6. 【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交
  7. 用JavaScript来对QUOTED-PRINTABLE进行解码和编码算法
  8. 2021个人年度总结
  9. 一IT项目经理的总结
  10. 【Soul网关探秘】微内核架构及实现