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

网站怎么做dwcs6/手机网站优化排名

网站怎么做dwcs6,手机网站优化排名,经典重庆网首页,在ps做网站分辨率96可以吗目录 前言: 自动化框架的选择 测试环境的搭建 导入Selenium2Library包 关键字是什么? 创建测试用例 前言: 自动化测试的重要性越来越受到人们的重视,因为它可以提高测试效率、降低测试成本并减少人为错误的出现。为了满足这…

目录

前言:

自动化框架的选择

测试环境的搭建

导入Selenium2Library包

关键字是什么?

创建测试用例


前言:

自动化测试的重要性越来越受到人们的重视,因为它可以提高测试效率、降低测试成本并减少人为错误的出现。为了满足这个需求,越来越多的公司开始采用自动化测试来保证软件质量。

一切的开始

某天,发生着我们每个测试工程师都可能遇到的场景:

项目经理:现在大家都在搞测试自动化,我们也用自动化的手段提高效率吧。

测试猿:好的。

测试猿:经理,我研究了下,结论是这样的:

  1. 自动化测试分为UI自动化和接口自动化。前者从UI发起,可以模拟用户在web上点击从而测试功能;后者从接口发起,能从接口层面确保接口功能。

  2. 一般来说,UI变化大,接口变动小,大部分的UI自动化都是保障基本功能,接口自动化保障服务提供能力。所以,一般不建议使用UI自动化测试各种异常场景,原因不是不能测,而是维护工作量太大。

  3. 最后,项目经理权衡各种利弊,决定使用UI先做基本功能的自动化,用来做回归测试和线上基本功能保障。

自动化框架的选择

最终选择了Robot Framework+Selenium2Library的组合,原因如下:

  1. 博主只懂入门级python语言,而RFS对编程语言的要求基本为0。

  2. RFS环境搭建好后,测试结果汇总,测试报告,测试log都是直接生成的网页版,方便进行结果分析和分发。

  3. 公司制作的网页没有使用比较难以定位的插件。

测试环境的搭建

测试环境的搭建有2个方法:

  1. (推荐方法)安装也能了解自己使用了什么工具和插件,安装链接:https://blog.csdn.net/ywyxb/article/details/64126927

完全安装好环境后,就可以在CMD窗口运行ride.py来启动ride编辑器了,启动后的主界面如下,我们先不看别的,右键点击project,创建个New Directory:

给文件夹起个名字,并且(推荐)使用默认的txt文件进行编辑:

右键选择你的文件夹,创建一个测试套件:

给测试套件起个名字,其它均使用默认值即可:

导入Selenium2Library包

点击Library,导入Selenium2Library的包,引入后套件内均可使用其关键字:

引入成功后,可以按F5来查看引入类库包含的关键字:

关键字是什么?

Q:什么是关键字?

A:关键字是RF自动化的根本,可以理解为可以直接使用的封装好的函数。

创建测试用例

右键点击我们创建好的测试套件,创建一条测试用例:

好了,前面都是准备工作,我们现在可以正式开始写自动化用例了:

Q:UI自动化用例第一步应该干什么?

A:当然是打开浏览器了。

在ride中按F5,打开Search Keywords的界面,搜索下open,很快能找到这个:

如果按照以上步骤,我们应该打开了一个谷歌浏览器,并打开了百度网站,那么如何让百度搜索我们想要的信息呢?

在RFS里,我们要操作的对象主要是一个个元素(Element),只要我们能通过一定的方式找到这些元素就可以。

RFS支持很多种对元素的定位方法,在这里,我根据经验推荐几种定位方法:

CSS:定位最为灵活,速度最快,学习好后能了解很多web相关知识。

jquery:作为css定位的补充使用。

Xpath:语法灵活,有不少插件可以直接找出xpath路径(虽然不是最合适路径),很多都喜欢使用,缺点是执行效率不高。

我们打开谷歌浏览器,并打开百度首页,按F12打开浏览器开发者工具:

我们来继续完善我们的第一条测试用例:

测试总要有个成功或者失败的条件,我们发现搜索后总会有这个:

我们可以根据搜索后出现的文本信息来判断是否搜索成功:

执行下,看看我们目前写的是否有问题,结果真的报错了:

把刚才的地址改成url的方式,就可以正常跑了:

但是还有个问题,我们跑完后,虽然测试用pass了,但是自动化打开的浏览器并没有关闭,由于关闭浏览器是每次全部测试用例测试完成后必须的动作,我们需要把关闭浏览器这个动作加到测试套件中

在测试套件的设置中增加teardown(完成后操作),用来在全部测试用例完成后关闭浏览器:

同理,我们其实也不是在每条用例中都要打开浏览器,所以也可以把打开浏览器并设置分辨率并最大化的操作放到测试套件的setup中去。

那么,问题来了,我们的setup只能放一个关键字,如何在一个关键字中完成这么多操作呢?

在这里,用户关键字出场了(掌声)

增加了关键字后,我们发现增加了个keywords的域,里面包含创建的关键字:

剪切(因为以后用不上了)上面关于打开浏览器的那三行代码,放到我们创建的关键字下面:

我们切换到表格界面看看刚才完成的用户关键字:

实际上,我们是封装了这三个动作,使用一个关键字就可以调用

我们把刚才写的用户关键字设置到测试套件的Setup中,这样每次套件中的用例执行的时候,会先执行这个setup里的关键字(多条连续跑只执行一次):

我们可以在测试套件中再写一条用例,在用例开始的时候使用go to关键字来完成打开淘宝页面的动作,从而开始操作淘宝的搜索功能:

选择多条的执行顺序是:测试套件setup---测试用例hello world---测试用例taobao---测试套件teardown:

基本的操作就是这些。

入门后需要多看Selenium2Library的关键字,有时候你想实现某个功能,搞了半天发现原来人家早都有了。

入门后还要多练习元素的定位,这个是基础,没有熟练的定位,就没有更高的工作效率。

【自动化测试交流】:574737577(备注ccc)icon-default.png?t=N4P3http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=1MDs4T0SvhL4arRoq3njIVb9HGXrRoj6&authKey=sx1h5dj77OV5obrcx6nE7Dn3sqEVuE4XrGqzqneReBJy3ojOL3oHMSH48XPKPWhW&noverify=0&group_code=574737577

 

相关文章:

一文详解!Robot Framework Selenium UI自动化测试入门篇

目录 前言: 自动化框架的选择 测试环境的搭建 导入Selenium2Library包 关键字是什么? 创建测试用例 前言: 自动化测试的重要性越来越受到人们的重视,因为它可以提高测试效率、降低测试成本并减少人为错误的出现。为了满足这…...

Java 9 模块化系统详解

Java 9 模块化系统详解 一、简介1. 引入模块化系统原因2. 模块化系统带来的优势和挑战3. 模块化关键概念 二、模块化基础1. 模块化源代码结构规范2. 模块定义与描述符3. 打包可执行模块 三、模块化系统的高级特性1. 模块发现与解决依赖2. 模块化升级与替换3. 模块化动态访问 四…...

Windows定时执行Python脚本

在Linux环境下我们可以使用crontab工具来定时的执行脚本,可以很轻松的管理各个虚拟环境下的py文件在Windows上可以使用任务计划程序来定时执行我们的脚本 关于这个的基本使用可以查看我前面的博客 https://blog.csdn.net/wyh1618/article/details/125725967?spm10…...

数据科学简介:如何使用 Pandas 库处理 CSV 文件

部分数据来源:ChatGPT 什么是 CSV 文件? CSV ( Comma Separated Values)文件是一种常见的文本文件格式,它通常用于存储结构化数据,因为它可以轻松地转换成电子表格,如Excel。 CSV 文件是以逗号作为分隔符的表格数据。文件中的每行代表一个记录,每列代表一个属性。例如…...

面试专题:java多线程(2)-- 线程池

1.为什么要用线程池? 线程池提供了一种限制和管理资源(包括执行一个任务)。 每个线程池还维护一些基本统计信息,例如已完成任务的数量。 这里借用《Java并发编程的艺术》提到的来说一下使用线程池的好处: 降低资源消…...

Linux文件权限及用户管理

文件权限 在Linux中,每个文件和目录都有一组权限,这些权限决定了哪些用户可以访问文件或目录,以及他们可以进行什么样的操作。权限分为三类: 所有者权限:这些权限适用于文件或目录的所有者。 组权限:这些…...

以AI为灯,照亮医疗放射防护监管盲区

相信绝大部分人都有在医院拍X光片的经历,它能够让医生更方便快速地找出潜在问题,判断病人健康状况,是医疗诊断过程中的常见检查方式。但同时X射线也是一把双刃剑,它的照射量可在体内累积,对人体血液白细胞有杀伤力&…...

Golang单元测试详解(一):单元测试的基本使用方法

Golang 单元测试 Golang 中的单元测试是使用标准库 testing 来实现的,编写一个单元测试是很容易的: 创建测试文件:在 Go 项目的源代码目录下创建一个新的文件(和被测代码文件在同一个包),以 _test.go 为后…...

数据库的序列

目录 一、序列是什么 二、序列的用途 二、创建序列 三、查看、修改、删除序列 四、使用序列 (1)在插入语句中使用 (2)不在插入语句中使用 五、使用序列的例子 一、序列是什么 数据库对象分为:用户、视图、索引…...

2022年回顾

年总写完了(已持续多年),顺便写个小的回顾。 寻找属于自己的方向 无论当前干啥,大多数都不是真正适合你的,但是,你又不能不做下去,那么,持续的寻找适合的,就是一种解开…...

40亿个QQ号,限制1G内存,如何去重?

40亿个unsigned int,如果直接用内存存储的话,需要: 4*4000000000 /1024/1024/1024 14.9G ,考虑到其中有一些重复的话,那1G的空间也基本上是不够用的。 想要实现这个功能,可以借助位图。 使用位图的话&a…...

【django】django的orm的分组查询

前言:django当中分组查询如何实现? annotate from myapp import models from django.db.models.functions import TruncMonth from django.db.models import Count,Avg# 分组 values 就是取值作用 model.Book.objects.values(month).annotate(countCo…...

MySQL5.8在Windows下下载+安装+配置教程

MySQL是一款常用的关系型数据库管理系统,本文将介绍MySQL5.8在Windows下的安装配置教程。 1. 软件下载地址 免安装版下载地址:https://dev.mysql.com/downloads/mysql/安装版下载地址:https://dev.mysql.com/downloads/installer/ 2. 免安…...

Flask or FastAPI? Python服务端初体验

1. 引言 最近由于工作需要,又去了解了一下简单的python服务搭建的相关工作,主要是为了自己开发的模型或者工具给同组的人使用。之前介绍的针对于数据科学研究比较友好的一个可以展示的前端框架Streamlit可以说是一个利器。不过,随着ChatGPT的…...

《计算机组成原理》唐朔飞 第7章 指令系统 - 学习笔记

写在前面的话:此系列文章为笔者学习计算机组成原理时的个人笔记,分享出来与大家学习交流。使用教材为唐朔飞第3版,笔记目录大体与教材相同。 网课 计算机组成原理(哈工大刘宏伟)135讲(全)高清_…...

Linux:apache网页优化

Linux:apache网页优化 一、Apache 网页优化二、网页压缩2.1 检查是否安装 mod_deflate 模块2.2 如果没有安装mod_deflate 模块,重新编译安装 Apache 添加 mod_deflate 模块2.3 配置 mod_deflate 模块启用2.4 检查安装情况,启动服务2.5 测试 m…...

涨点技巧:注意力机制---Yolov8引入Resnet_CBAM,CBAM升级版

1.计算机视觉中的注意力机制 一般来说,注意力机制通常被分为以下基本四大类: 通道注意力 Channel Attention 空间注意力机制 Spatial Attention 时间注意力机制 Temporal Attention 分支注意力机制 Branch Attention 1.1.CBAM:通道注意力和空间注意力的集成者 轻量级…...

solr教程

一:安装配置 下载完成之后,解压solr文件,解压tomcat 1.1 在tomcat安装solr,并且建立solrCore 把solr5.5目录下的server/solr-webapp/webapp 重命名为solr,并且放置到tomcat/webapp的目录下。 打开tomcat/webapp/solr/WEB-INF/web.xml新建…...

基于java语言编写的爬虫程序

Java语言可以使用Jsoup、HttpClient等库进行网络爬虫开发,其中Jsoup提供了HTML解析和DOM操作的功能,HttpClient则提供了HTTP协议的支持。你可以通过使用这些库,构建网络爬虫程序来爬取指定网站的数据。需要注意的是,应该遵守网站的…...

UM2082F08 125k三通道低频无线唤醒ASK接收功能的SOC芯片 汽车PKE钥匙

1产品描述 UM2082F08是基于单周期8051内核的超低功耗8位、具有三通道低频无线唤醒ASK接收功能的SOC芯片。芯片可检测30KHz~300KHz范围的LF (低频)载波频率数据并触发唤醒信号,同时可以调节接收灵敏度,确保在各种应用环境下实现可靠唤醒,其拥…...

【SpringBoot_Project_Actual combat】 Summary of Project experience_需要考虑的问题

无论是初学者还是有经验的专业人士,在学习一门新的IT技术时,都需要采取一种系统性的学习方法。那么作为一名技术er,你是如何系统的学习it技术的呢。 一、DB Problems 数据库数据类型与java中数据类型对应问题? MySql数据库和java…...

恒容容器放气的瞬时流量的计算与合金氢化物放氢流量曲线的计算

有时候,你会遇到一个问题,该问题的描述如下: 你有一个已知体积的容器,设容器体积为V,里面装有一定压力(初始压力)的气体,如空气或氢气等,设初始压力为1MPa,容器出口连接着一个阀门开…...

网络编程_UDP通信

网络编程_UDP通信 1. TCP与UDP2. 使用UDP通信3. sendto与recvfrom、recv4.实例实例1: 服务器接收、客户端发送实例2:服务器收发、客户方发送、接收。1. TCP与UDP 当使用网络套接字通信时, 套接字的“域”都取AF_INET; 套接字的type: SOCK_STREAM 此时,默认使用TCP协议进行…...

windows修改Pycharm的右键打开方式

title: windows中open floder as Pycharm太长了怎么修改 date: 2023-06-04 author: IoT_H2 tags: windows系统问题 categories: Markdown 问题描述: Pycharm这一栏这么长,长的我实在是很难受,事实上Jetbrains家的软件都是这个鸟模样 导…...

Python入门(十四)函数(二)

函数(二) 1.传递实参1.1 位置实参1.2 关键字实参1.3 默认值 作者:xiou 1.传递实参 函数定义中可能包含多个形参,因此函数调用中也可能包含多个实参。向函数传递实参的方式很多:可使用位置实参,这要求实参…...

Allure测试报告定制全攻略,优化你的Web自动化测试框架!

目录 前言: 1. Allure测试报告简介 2. Web自动化测试框架简介 3. 封装Web自动化框架 3.1 安装Selenium 3.2 封装Selenium 3.3 定制Allure测试报告 3.3.1 适配翻译插件 3.3.2 定制测试报告样式 4. 示例代码 5. 总结 前言: 随着现在Web应用的普…...

推荐系统算法详解

文章目录 基于人口统计学的推荐算法用户画像 基于内容的推荐算法相似度计算基于内容推荐系统的高层次结构特征工程数值型特征处理类别特征处理时间型特征处理统计型特征处理 推荐系统常见反馈数据基于UGC的推荐TF-IDFTF-IDF算法示例1. 引入依赖2. 定义数据和预处理3. 进行词数统…...

企业网站架构部署与优化之LAMP

LAMP LAMP概述1、各组件的主要作用2、各组件安装顺序 编译安装Apache http服务编译安装MySQL服务编译安装PHP解析环境安装论坛 LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供静态和动态Web站点服务…...

攻防世界安卓逆向练习

文章目录 一.easy-so1. jadx分析程序逻辑2. ida查看so文件3. 解题脚本: 二.ezjni1. 程序逻辑分析2. 解题脚本: 三.easyjava1. 主函数逻辑2. getIndex函数3. getChar函数4.解题脚本 四.APK逆向1.程序逻辑分析2.解题脚本3.动态调试 Android2.0app3 一.easy-so 1. jadx分析程序逻…...

自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)

分类目录:《自然语言处理从入门到应用》总目录 语言模型(Language Model,LM)(也称统计语言模型)是描述自然语言概率分布的模型,是一个非常基础和重要的自然语言处理任务。利用语言模型&#xff…...