<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[KImdaML的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/KImdaML</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; KImdaML]]></copyright><item><title><![CDATA[自动化脚本录制并且自动化运行（po模型）]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117928365</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117928365</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 17:19:01 +0800</pubDate><description><![CDATA[PO模型介绍
在自动化中，Selenium自动化测试中有一个名字经常被提及PageObject(思想与面向对象的特征相 同)，通常PO模型可以大大提高测试用例的维护效率
脚本录制的方法
我这里用的是火狐实现脚本录制
本地的插件

安装成功后发现有一个录制脚本的按钮

点击红色按钮即可进行脚本录制

我们搜索一个123然后查看录制的脚本

可以导出通过webdriver方法

PO实现
先写一个BasePage里边封装了定位元素和其他的方法

然后在page包里写入当前页面所使用的方法

进行测试

查看结果]]></description><category></category></item><item><title><![CDATA[Web自动化测试（表单跳转）]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117918512</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117918512</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 09:50:09 +0800</pubDate><description><![CDATA[在网页中表单嵌套很常见，尤其是在登录的场景
什么是多表单
实际上就是使用iframe/frame，引用了其他页面的链接，真正的页面数据并没有出现在当前源码中，但是在浏览器中我们看到，简单理解可以使页面中开了一个窗口显示另一个页面
直接使用id值切换进表单
driver.switch_to.frame(value)/driver.switch_to_frame(value)
我们进入pycharm
先导入selenium包然后进行操作
我们这里使用qq空间的进行操作

我们要先找到这个表单的id实现表单跳转
]]></description><category></category></item><item><title><![CDATA[Web自动化测试句柄多页面]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117918429</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117918429</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 09:37:46 +0800</pubDate><description><![CDATA[有的时候点击一个链接，新页面并非由当前页面跳转过去，而是新开一个页面打开，这种情况下，计算机需要识别多标签或窗口的情况
获取窗口句柄

我们进入五八然后操作

找到xpath值

运行进行操作

跳转成功


...]]></description><category></category></item><item><title><![CDATA[火狐插件的添加]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117918291</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117918291</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 09:31:21 +0800</pubDate><description><![CDATA[FireBug
我们通过FireFox进去页面点击

添加附件
然后点击这个按钮

该按钮下有本地插件位置
将这三个添加进去

后续我会将这三个放进资源，需要的朋友可以下载一下
添加完成之后就可以进行相对于操作了



...]]></description><category></category></item><item><title><![CDATA[web自动化八大元素操作]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117918019</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117918019</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 09:26:48 +0800</pubDate><description><![CDATA[自动化测试
自动化测试就是通过测试工具或者其他手段，按照测试人员的预定计划对软件产品进行自动化测试
优点：快速，全面，节省经费，缩短软件发布周期
缺点：自动化测试的方向是对的，而且趋势也是如此，但是有些自动化实现不了的还是会手动测一把
自动化工具
selenium
我们在pycharm里结合这个selenium进行自动化的操作
首先进行安装
在pycharm里安装selenium这个框架

然后我们结合火狐浏览器（FireFox）对这个selenium框架进行练习

这样可以直接进入火狐浏览器里的百度页面
]]></description><category></category></item><item><title><![CDATA[火狐插件（fireBug）]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117917930</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117917930</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 09:06:22 +0800</pubDate><description><![CDATA[FireBug
Firebug是Firefox下的一款开发类插件，现属于Firefox的五星级强力推荐插件之一。它集HTML查看和编辑、Javascript控制台、网络状况监视器于一体，是开发JavaScript、CSS、HTML和Ajax的得力助手
Firebug插件虽然功能强大，但是它已经和Firefox浏览器无缝地结合在一起，使用简单直观。如果你担心它会占用太多的系统资源，也可以方便地启用/关闭这个插件，甚至针对特定的站点开启这个插件。
在安装好插件之后，先用Firefox浏览器打开需要测试的页面，然]]></description><category></category></item><item><title><![CDATA[web自动化测试以及定位元素操作]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117917789</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117917789</guid><author>KImdaML</author><pubDate>Tue, 15 Jun 2021 08:54:35 +0800</pubDate><description><![CDATA[一、查看页面元素
用谷歌浏览器打开百度首页，点击右上角&gt;更多工具&gt;开发者工具，就可以看到整个页面的html代码了

点击框中左上角的箭头图标，移动鼠标到百度搜索框，就可以自动定位到百度搜索框的HTML代码了，查看到搜索框的属性，我们可以看到搜索框有id,name,class等属性。

二、元素定位
1、id定位： find_element_by_id()
id属性一般是唯一的，建议使用，但是不一定存在；从上面定位到的搜索框属性中，有个id="kw"的属性，我们可以通过这个id定位到这个搜索框
代]]></description><category></category></item><item><title><![CDATA[requests接口测试]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117671459</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117671459</guid><author>KImdaML</author><pubDate>Mon, 07 Jun 2021 20:02:50 +0800</pubDate><description><![CDATA[requests的介绍
requests是一个很实用的Python HTTP客户端库，编写爬虫和测试服务器响应数据时经常会用到，Requests是Python语言的第三方的库，专门用于发送HTTP请求
配置环境
我们要在输入框内输入pip install requests安装requests的环境从而方便进行后边的操作

reqeusts输出get请求
GET无参请求：

GET有参请求：

requests输出post请求
post请求：

标题requests+pytest+allure
1、先创建一个]]></description><category></category></item><item><title><![CDATA[python单元测试]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117534002</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117534002</guid><author>KImdaML</author><pubDate>Thu, 03 Jun 2021 20:31:25 +0800</pubDate><description><![CDATA[这两天在学习单python的单元测试功能，太懒了不想每次都启动服务再测试功能，而且还得一遍一遍的写不同的情况下的测试输入，无聊又麻烦。整整花了一天时间，写博客记录一下，不然两三天后估计又忘的差不多了…
python的单元测试框架是unittest，这货还真挺厉害的，一人包圆了python和django的所有测试，Flask怎么搞我没弄过，在这里就不瞎说了。关于unittest有四个概念先得先知道下。
test fixture：主要负责测试前的一些准备工作和一些清理操作，比如创建一些临时数据库、目录和启动服务]]></description><category></category></item><item><title><![CDATA[python的面向对象]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117472753</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117472753</guid><author>KImdaML</author><pubDate>Wed, 02 Jun 2021 17:15:50 +0800</pubDate><description><![CDATA[面向对象的介绍
面向过程： 强调的是步骤、过程、每一步都是自己亲自实现的
面向对象： 当遇到一个需求不用自己去实现，而是去找一个专门做这个事情的人，就好比定义好的东西
类和对象
对象是面向对象的核心，在使用对象的过程中，为了将具有共同特征和行为的一组对象抽象定义，提出了另外一个新概念—类
类就相当于制造飞机时的图纸，用它来进行创建的飞机就相当于对象
具有相似内部状态和运动规律的实体集合
具有相同属性和行为事物的统称
类的构成
类（class）：
类名
类属性
类方法
定义类
定义一个类，格式如下
class]]></description><category></category></item><item><title><![CDATA[python里文件的相关操作]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117451606</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117451606</guid><author>KImdaML</author><pubDate>Tue, 01 Jun 2021 20:46:43 +0800</pubDate><description><![CDATA[文件的操作介绍
什么是文件
如下图

文件的操作
文件的作用：
使用文件的目的，保存数据存放在磁盘，把一些存储存放起来，可以让程序下一次执行的时候直接使用，不必重新制作一份，省时省力
文件的打开与关闭
在python里，使用open函数，可以打开一个已经存在的文件，或者创建一个新文件
open（文件名，访问模式）
访问模式：
r：只读，打开文件默认模式
w：打开文件可以用于写入，如果存在该文件可以覆盖
a：追加内容，在文件里追加内容
rb：以二进制的格式打开一个文件用于只读
wb：以二进制格式打开文件用于写]]></description><category></category></item><item><title><![CDATA[python的函数和变量]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117450108</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117450108</guid><author>KImdaML</author><pubDate>Tue, 01 Jun 2021 19:57:29 +0800</pubDate><description><![CDATA[python的函数
为什么要用函数：
在开发过程中，需要某块代码多次，为了提高编写效率和代码的重用，吧具有独立功能代码块组织为一个小模块，这就是函数
函数的定义和调用
格式：
def 函数名（）：
代码
让我们试着操作一下
打印helloworld


2、调用函数：
定义函数之后，就相当于有一个具有某些功能的代码块，我们可以通过调用这个函数的方法来直接使用这个代码块
直接通过函数名（）即可完成调用
下面我们操作一下


**注意：**调用都会从头开始执行，执行完毕就意味调用结束
3、函数参数：
为了更方便]]></description><category></category></item><item><title><![CDATA[python的元祖、字典与集合]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117371813</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117371813</guid><author>KImdaML</author><pubDate>Fri, 28 May 2021 20:09:28 +0800</pubDate><description><![CDATA[元祖
元祖的介绍
元祖就类似于列表，不过元祖元素不能修改，而且元祖使用小括号，列表使用的是方括号


元祖不可以被修改
元祖的查询
index和count
index是根据下标（区间）
count是查询个数

结果如下

字典
字典的介绍：
能存储多个数据，还能在访问元素很方便，是以键值对存储的
格式：
字典名：{‘键’：‘值’，‘键’：‘值’}
根据键访问值


如果访问不存在的键会出现异常异常为没有该键


字典中不存在指定键，返回默认值


修改字典的元素
字典的每个元素都可以通过键来进行修改


添]]></description><category></category></item><item><title><![CDATA[python的列表]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117335546</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117335546</guid><author>KImdaML</author><pubDate>Thu, 27 May 2021 19:34:04 +0800</pubDate><description><![CDATA[python–列表
一、列表的介绍
当我们要存储多个变量，并且要遍历他们的时候，我们再用普通的变量就会非常的麻烦，这就要用到了列表
列表的格式：
变量=【，，，】
案例：
定义一个列表名字为namelist
namesList=【‘xiaowang’，‘xiaozhang’，‘xiaohua’】
还可以定义不同的类型
namesList=【‘xiaowang’，12，【1,2，3】，（1,2）】


二、列表的相关操作
1、新增：append、extend、insert
append：
列表追加：（直接追加]]></description><category></category></item><item><title><![CDATA[python字符串]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117331585</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117331585</guid><author>KImdaML</author><pubDate>Thu, 27 May 2021 16:46:35 +0800</pubDate><description><![CDATA[字符串
python里字符串的格式：
定义变量a，存储是数字类型
a=100
定义变量b，存储的是字符串类型的值
b=“hello world”
双引号或者单引号里的数据，就是字符串
字符串的输出


字符串的输入


切片
切片是指对操作的对象截取其中一部分的操作
字符串、元祖、列表都支持切片操作
格式：【起始下标：结束：步长】
操作：
设一个name为abcdef


字符串的常见操作
检测字符是否在定义的字符中
find（）
检测str是否包含在my_str中，如果是返回开始的索引值

index（）]]></description><category></category></item><item><title><![CDATA[测试面试题（2021）干货！]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117330772</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117330772</guid><author>KImdaML</author><pubDate>Thu, 27 May 2021 16:08:23 +0800</pubDate><description><![CDATA[以此献给正在努力找工作的你
1.	软件测试的目的与原则是什么？
答 ： 目的：
A.	通过测试工作可以发现并修复软件当中存在的缺陷，
B.	可以降低同产品开发遇到的风险，
C.	记录软件运行过程中的一些数据，从而为决策者提供技术支持。
原则：
A.	2/8定律，核心功能占20%，非核心占80%，我们会集中测试20%的核心功能，发现缺陷的几率会高于80%，因此，遇到的缺陷都会集中20%功能模块里。
B.	不能进行穷尽测试，有些功能是无法将所有测试情况逻辑出来的，任何的测试都有结束的时间。
C.	为了更好地发现]]></description><category></category></item><item><title><![CDATA[MYSQL（SQL语句）]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117304961</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117304961</guid><author>KImdaML</author><pubDate>Wed, 26 May 2021 20:51:53 +0800</pubDate><description><![CDATA[数据库语句
创建数据库
create database 库名
查看库结构
show database
表语句
新增：
单条：insert into 表名 values(字段值,字段值,字段值…)
多条：insert into 表名 values(字段值,字段值,字段值…),(字段值,字段值,字段值…);
修改：
UPDATE 表名 SET 字段1=值1,字段2=值2,…,字段n=值n  WHERE 条件;
删除：
delete from 表名 where 条件;
※查询：
查询某些字段信息：SELECT 字]]></description><category></category></item><item><title><![CDATA[python的循环语句]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117262365</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117262365</guid><author>KImdaML</author><pubDate>Tue, 25 May 2021 19:28:38 +0800</pubDate><description><![CDATA[循环
我们在生活中方方面面每一天都在重复着，当然在编程这门语言中，也有循环的表达方式，下面让我们看看python里的循环语句以及它存在的各种格式
一、 While
1、while循环的格式
while 条件:
条件成立时，要做的事情
条件成立时，要做的事情
…
下面，我们做一个案例来练习一下while循环
循环打印出1-100的数据和


发现结果为5050，成功
那我们要取出1-100之间的偶数和该怎么计算呢


也成功了
2、while循环嵌套
while 条件:
条件成立时，要做的事情
条件成立时，要]]></description><category></category></item><item><title><![CDATA[python里判断语句的用法]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117258248</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117258248</guid><author>KImdaML</author><pubDate>Tue, 25 May 2021 16:29:10 +0800</pubDate><description><![CDATA[判断
判断语句的介绍：有一定条件约束，满足成立，不满足不成立，这就是判断
if语句在python中的格式
if 判断的条件：
条件成立时，事件成立
下边我会用几则案例通过pycharm来向大家展示一下判断语句在python里的多种格式以及使用方法
一、判断语句
我们创建一个变量在if里输入
下图使我们的语句格式

我们运行一下查看结果

我们输入年龄

发现语句成立，那么如果输入小于十八的数字会发生什么呢，我们来试一试

我们发现他并没有展示什么东西
接下来就要用到我们的else了
else：条件不成立时，]]></description><category></category></item><item><title><![CDATA[python的基本语法]]></title><link>https://blog.youkuaiyun.com/KImdaML/article/details/117231335</link><guid>https://blog.youkuaiyun.com/KImdaML/article/details/117231335</guid><author>KImdaML</author><pubDate>Mon, 24 May 2021 20:22:51 +0800</pubDate><description><![CDATA[python的基本语法
变量的定义
变量名 = 值
列：age = 18

标识符
什么是标识符
开发人员在程序中自定义的一些符号和名称
标识符是自己定义的,如变量名 、函数名等
标识符的命名规则
标识符只能由字母、下划线“_”、数字组成。
标识符不能以数字开头。
标识符不能使用关键字 。
标识符对大小写敏感。
python的关键字
‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘async’, ‘await’, ‘break’, ‘class’, ‘con]]></description><category></category></item></channel></rss>