ubuntu18.04系统安装详细步骤 ubuntu18.04安装网卡驱动
淘宝搜:【天降红包222】领超级红包,京东搜:【天降红包222】
淘宝互助,淘宝双11微信互助群关注公众号 【淘姐妹】
一、安装前先看下自己电脑系统的配置,此电脑配置如下:windows10 21H1。
?注意几点:(1) Linux子系统默认安装在C盘,建议默认安装即可。(2) 确认自己的C盘可用容量足够,一般不会超过2GB。
二、安装 Win10 的Linux?子系统步骤
依次点击:系统设置 →应用→右侧的程序和功能→启动或关闭windows功能→勾选适用于 Linux 的 Windows 子系统→确定后,选择重启电脑,系统会更改你的选择。等待重启完成即可。
?
三、Linux子系统Ubuntu的安装
(1)点击桌面左下角开始图标,打开 Windows 应用市场,输入linux 搜索,选择你自己想要的系统版本,我自己安装的是 Ubuntu ,现在好像只有18.04以上版本了。这里我选了Ubuntu18.04,然后下载,它会自动安装,下载速度取决于个人网速。
(2)选择安装后,静静等待几分钟,会自动显示安装成功.然后设置自己的帐号和密码,用户名和密码建议尽量简单好记,后面安装、更新软件包都会用到。
(3)设置好之后,博主推荐Cmder软件来替代windowws下的cmd命令工具?,用起来也很方便。
下载地址:【【网址】】/
(4)配置Ubuntu18.04系统
通过bash命令进入ubuntu系统,
1. 首先备份原数据源配置文件:
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
2. 编辑配置文件,推荐使用阿里云的软件源,我们可以使用vim来打开配置的源文件:
$ sudo vim /etc/apt/sources.list
3. 将文件里的源路径全部替换为阿里云的源路径,ubuntu18.04里共有10条。不同版本的Ubuntu系统源见阿里云开发者社区,里面包含所有版本的ubuntu镜像源。https://de【【微信】】.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3【【微信】】 更改sources.list内容完成后,使用以下vim命令保存修改内容。
:wq # 保存,并退出 :wq! # 强制保存,并退出
4. 依次执行以下命令来完成更新,并安装你需要的包
$ sudo apt-get update # 更新源文件 $ sudo apt-get install package # 安装包文件
安装过程中遇到选择[Y/n?]时,输入 “Y”?即可,很快便完成更新和安装。
四、Ubuntu系统与 原Windows系统的交互
在可以通过网络端口进行交互,因为子系统和原系统共用同一个IP。
进入cmder,输入bash命令
可指定目录盘的路径:
/mnt/c?/mnt/d?… /mnt/ # 指定盘的路径
?然后直接通过Cmder命令窗口就能访问原windows中的目录,并操作目标文件,交互实现。接下来就可以在Win10下自由地使用Ubuntu系统啦。
参考文章:Windows10安装Linux子系统Ubuntu_蜗牛的专栏-CSDN博客_windows安装linux子系统
?
?
?
?
?
seleniumwebui自动化测试 ui自动化之selenium基础入门
selenium硒片的功效,selenium上传文件,selenium自动化测试框架,selenichast本文大纲截图:
?
概念:?由机器设备代替人工自动完成指定目标的过程
优点:
-
1)减少人工劳动力
-
2)提高工作效率
-
3)产品规格统一标准
-
4)规模化(批量生产)
软件测试:校验系统是否满足规定的需求、弄清预期结果与实际结果之间的差别
软件自动化测试:让程序代替人工去验证系统功能的过程
应用场景:
-
回归测试:项目在发新版本之后对项目之前的功能进行验证
-
压力测试:可以理解多用户同时去操作软件,统计软件服务器处理多用户请求的能力
-
兼容性测试:不同浏览器(IE、Firefox、Chrome)等等
优点:
-
1)较少的时间内运行更多的测试用例;
-
2)自动化脚本可重复运行;
-
3)减少人为的错误;
-
4)克服手工测试的局限性;
-
5)提高测试效率,保证产品质量
误区:
-
1)自动化测试可以完全替代手工测试;
-
2)自动化测试一定比手工测试厉害;
-
3)自动化测试可以发掘更多的BUG;
-
4)自动化测试适用于所有功能
分类:UI自动化、接口自动化、性能测试、单元测试
UI自动化:Web端、移动端
Web端:
-
什么Web项目适合做自动化测试?
-
1.需求变动不频繁
-
2.项目周期长
-
3.项目需要回归测试
-
-
Web自动化测试在什么阶段开始?
-
功能测试完毕(手工测试)
-
-
Web自动化测试所属分类――黑盒测试(功能测试)
-
1)黑盒测试(功能测试)
-
2)白盒测试(单元测试)
-
3)灰盒测试(接口测试)
-
移动端:APP应用、小程序、H5页面
UI自动化基本环境包括:
-
Java JDK 环境
-
Python和PyCharm安装
-
Selenium WebDriver、浏览器驱动、UnitTest、Pytest、parameterized、json、Selenium Grid
-
MySQL
-
?是一个商业化的功能测试工具,收费,支持web,桌面自动化测试
-
?是一个开源的web自动化测试工具,免费,主要做功能测试
-
是一个基于Python可扩展地关键字驱动的测试自动化框架
-
1)整理需要进行自动化测试的用例
-
2)搭建好自动化测试框架环境
-
3)编写自动化测试用例脚本
-
4)执行自动化测试用例脚本
-
5)生成自动化测试报告
-
:封装思想
Web 自动化基本代码
Selenium 是一个用于应用程序的自动化测试工具。
特点:
-
开源:源代码开放可以根据需要来增加工具的某些功能
-
跨平台:linux、windows、mac
-
支持多语言:Python、Java、C#、【【微信】】、Ruby、PHP等
-
支持常见的浏览器:Firefox、Chrome、IE、Edge、Opera、Safari等
-
成熟稳定
-
功能强大
发展史:
Selenium 1.0:
组件:、、
-
Selenium IDE
-
1)Firefox浏览器插件,可以录制用户的基本操作,生成测试用例
-
2)测试用例可以在Firefox浏览器里回放
-
3)测试用例可以转化成其它语言的自动化测试脚本
-
-
Selenium Grid
-
允许 Selenium RC 针对规模庞大的测试案例集成;
-
需要在不同环境中进行的测试案例集进行扩展
-
-
Selenium RC[核心组件]
-
1)RC是 Remote Control 的缩写,它的功能就是用来模拟一个浏览器
-
2)支持多平台、多浏览器及多种开发语言来编写测试用例
-
-
缺点:
-
1)不支持本机键盘和鼠标事件
-
2)不支持同源策略XSS/HTTP(S)
-
3)不支持弹出框,对话框(自签名证书和文件的上传、下载)
-
Selenium 2.0:
-
组件:?+?
-
注意:2.0 是过渡版本,主要是使用 WebDriver 替换 RC
-
-
特点:
-
1)基于调用 WebDriver API 来模拟用户操作
-
2)WebDriver 的速度更快,因为它可以直接交互使用
-
3)支持多种编程语言
-
Selenium 3.0:
组件:、、
Selenium IDE:
-
作用:负责录制、回放脚本,模拟用户对页面的真实操作
-
安装:作为浏览器插件安装
-
Chrome插件扩展下载网址:
Selenium Grid:
-
作用:用于分布式自动化测试,通过控制多台机器、多个浏览器并行执行测试用例,在测试用例比较多的情况下比较实用。
-
安装:
-
1)安装java的jre环境并配置环境变量(配置JDK运行环境)
-
2)在不同的测试集群机上,分别安装不同类型的浏览器和相应的驱动。并配置好环境变量(将浏览器驱动driver配置进PATH变量中)
-
3)jar包下载:?下载。在找到适配的版本(与Python中安装selenium版本一致)并将其放到电脑的某一个目录下。
-
WebDriver[核心组件]:
-
作用:提供 API 来操作浏览器,如:Chrome、FireFox、IE 等
-
安装:
-
1)安装 Python 环境(以及PyCharm编辑器<一种(,集成开发环境>)
-
2)安装命令:
-
-
使用:在Python中调用来写测试脚本,去操作Web端网页应用
-
注意:3.0 版本下所有浏览器除了需要安装 Selenium 框架 以外,还需要安装对应的驱动程序
特点:
-
1)去掉了对 Selenium RC 的支持
-
2)全面支持 Java8
-
3)支持macOS(Sierra or later),支持官方的 SafariDriver
-
4)通过软件的 WebDri【【微信】】,支持Edge浏览器
-
5)支持IE9.0以上版本
-
6)通过火狐官方的GeckoDriver来支持Firefox
pip是一个通用的 Python 包管理工具,提供了对 Python 包的查找、下载、安装、卸载的功能。
-
安装命令:
-
卸载命令:
-
查看命令:
下载浏览器驱动:
-
各个驱动下载地址:
-
注意:浏览器的版本和驱动版本要一致!
火狐浏览器:
-
1)Firefox 48 以上版本:selenium 3.x + Firefox驱动(geckodriver)
-
火狐驱动下载地址:
-
-
2)Firefox 48 以下版本:selenium 2.x + 内置驱动
谷歌浏览器:
-
selenium 2.x/3.x + Chrome驱动(chromedriver)
-
谷歌驱动下载地址:
Edge浏览器(了解):
-
selenium 3.x + Edge驱动(MicrosoftWebDriver)
-
Edge驱动下载地址:
环境变量配置:?把驱动文件所在目录添加到中或者直接放到,因为Python已添加到Path中。
-
1)运行用python写好的selenium脚本,向中发送一个http请求;
-
2)浏览器驱动中的会根据这个请求生成对应的。注意:相同的操作生成的js脚本在不同浏览器中会有所不同,因此不同的浏览器要有不同的驱动;
-
3)js脚本驱动浏览器,完成selenium脚本中的各种操作,并返回给;
-
4)将结果通过http响应的形式返回给客户端。
元素定位方法
-
方法一:
截图:
注意:
-
1)元素定位方法如果带有 s,则执行结果返回的是列表类型数据,里面的数据就是多个元素对象
-
2)通过列表下标(索引)的方式,取出目标元素,再进行操作。如:
-
3)如果调用完元素定位方法后,再点语法,提示的均为列表方法,则方法带了 s 。
-
4)如果调用完元素定位方法后,再点语法,提示的均为元素方法,则方法不带 s 。
-
方法二:
-
应用场景:使用?封装代码结构时需要使用?。
-
注释:by方法 是 By方法的封装;或者 By方法 是 by方法的底层实现(原理);By方法和by方法可以同时使用
-
封装:提取、给名字、扔代码、确认需不需要参数和返回值
元素定位方式
Selenium 提供了八种定位元素方式:
1)id
-
特点:id定位 是通过元素的id属性来定位元素的;在整个HTML文档中 id 属性必须是唯一的。
-
前提:元素有id属性
-
id定位方法:
-
案例:用户输入框的id为userA,用id定位该用户输入框,并输入admin
-
过程:由浏览器去定位元素,由元素去输入信息
-
说明:当目标元素存在 id属性值时,优先使用 id 方法定位元素
2)name
-
特点:定位是根据元素来定位的;在HTML文档中 name 的属性值是可以重复的
-
前提:定位元素时,尽量保证 使用的特征值 能够代表目标元素在当前页面内的唯一性
-
name 定位方法:
-
案例:
-
说明:在页面内有多个元素的特征值是相同时,当定位元素的方法执行时,默认只会获取第一个符合要求的特征对应元素。
3)class_name
-
特点:定位是根据元素来定位元素;HTML通过使用class来定义元素的样式,class属性值可以有多个
-
前提:元素有class属性
-
class_name定位方法:
-
案例:
-
注意:在使用 class_name 方法时,如果class有多个属性值,只能使用其中的一个;方法名是:class_name,但要找元素的 class 属性值。
4)tag_name
-
特点:?是通过来定位的;HTML本质就是由不同的tag组成,每一种标签一般在页面中存在多个,所以不方便进行精确定位,一般很少使用
-
tag_name定位方法:
-
案例:
-
说明:如果存在多个相同的标签,则返回符合条件的第一个标签。
5)link_text
-
特点:?是专门用来定位 超链接元素(),通过超链接的文本内容来定位元素的
-
link_text定位方法:
-
案例:
6)partial_link_text
-
特点:?是对 link_text定位的补充。link_text使用全部文本内容匹配元素,而 partial_link_text可以使用局部来匹配元素,也可以使用全部文本匹配元素。
-
partial_link_text定位方法:
-
案例:
-
说明:partial_link_text:可以传入a标签局部文本且能表达唯一性
7)XPath
基本介绍:XPath即为 XML Path 的简称,它是一门在 XML 文档中查找元素信息的语言。HTML可以看做是XML的一种实现,所以 Selenium用户可以使用这种强大的语言在Web应用中定位元素。XML:一种标记语言,用于数据的存储和传递。后缀.xml结尾。
说明:无论哪一种 XPath 策略(方法),定位方法都是同一个,不同策略只决定方法的参数的写法:
XPath定位方法:
XPath定位策略
1)路径-定位
-
绝对路径:从最外层元素到指定元素之间所有经过元素层级的路径
-
格式:
-
1> 绝对路径以?开始,使用 / 来分隔元素层级;如:。注意:这里的p[1]是从1开始计数的,不是从0开始的。
-
2> 绝对路径对页面结构要求比较严格,不建议使用
-
3> 反着路径写,从目标元素往根节点 /html 推。如:
-
-
相对路径:匹配任意层级的元素,不限制元素的位置
-
格式:相对路径以?
-
如:?或者?
-
举例:
-
说明:使用相对路径时,需要注意方法参数的内外引号嵌套问题
-
2)利用元素属性-定位
-
特点:通过使用元素的属性信息来定位元素
-
格式:
-
语法1:
-
语法2:;说明:?表示任意层级;?表示任意标签名;如:?或者?
-
-
说明:
-
1> 利用元素属性策略:该方法可以使用目标元素的任意一个属性和属性值,但需要保证唯一性(目标元素的有些属性和属性值,可能存在多个相同的特征的元素);
-
2> 使用 XPath策略,需要在浏览器工具中根据策略语法,组装策略值,并验证后再写到代码中;
-
3> 与class_name定位方法不同的是:如果使用具有多个值的 class 属性,则需要传入全部的属性值。
-
3)属性与逻辑结合-定位
-
特点:解决元素之间各相同属性重名问题。解决目标元素单个属性和属性值无法定位为一个元素的问题时使用
-
格式:
-
例如:
-
说明:多个属性由连接,每一个属性都要由@开头,可以根据需求使用更多属性
4)层级与属性结合-定位
-
特点:如果通过元素自身的信息不方便直接定位到该元素,则可以先定位到其父级元素,然后再找到该元素。解决目标元素无法直接定位,可以考虑先定位其父层级或祖辈层级,再获取目标元素。
-
场景:通过父层级确定元素的页面位置,再通过拼接找到目标元素
-
格式:父层级定位策略/目标元素定位策略
-
例如:
版权声明:除非特别标注原创,其它均来自互联网,转载时请以链接形式注明文章出处。