IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 2021-08-04 -> 正文阅读

[开发测试]2021-08-04

常用的web应用服务器有哪些?

答:tomcat,weblogic,Websphere

Apache和Tomcat的区别?

相同点:都是Apache组织开发,两者都有HTTP服务功能
不同的:Apache是web服务器,只支持静态页面,不能处理动态页面。Tomcat是应用服务器,可以处理动态页面。

WebDriver 原理(还不是很理解)

webDriver 是按照 client/server 模式设计,client 就是我们的测试代码,发送
请求,server 就是打开的浏览器来打开 client 发出的请求并做出响应。
具体的工作流程:
·webdriver 打开浏览器并绑定到指定端口。启动的浏览器作为 remote server.
·client 通过 commandExecuter 发送 httpRequest 给 remote server 的的侦听
端口(the webdriver wire control 通信协议)
·Remote server 根据原生的浏览器组件来转化为浏览器的 native 调用。
备注:启动浏览器的时候,使用的是 http: hyper test transfer protocol、

如何提高自动化脚本稳定性

找原因
1)网速原因,增加时间等待
2)函数原因,尽量少使用容易冲突的函数
3)配置 testNG 实现多线程,在编写测试用例的时候,一定要实现松耦合,在服务器允许的情况下尽量设置多线程运行,提高执行速度

高质量自动化脚本特点

业务和代码分离,封装型好。
自动化用例耦合性低,独立性强,易于扩展维护

提高 selenium 脚本的执行速度方式

减少操作步骤,减少不必要的操作;
(2)中断页面加载,如果页面加载内容过多并且加载的内容不影响我们测试,
可以设置超时时间,中断页面加载;
(3)设置等待时间的时候,可以 sleep()固定的时间,检测到元素出现后中断
等待也可以提高速度;
(4) 配置 testNG 实现多线程,在编写测试用例的时候,一定要实现松耦合,在服务器允许的情况下尽量设置多线程运行,提高执行速度。

page object 设计模式

是将 page 对象封装成一个 HTML 页面,通过提供的应用程序特定的 API 来操作页
面元素,而不是在 html 中来搜寻对象,即提供一个易于编程的接口并隐藏窗口
中底层的部件,对界面的交互细节进行封装。
优点是:减少了代码的重复/提高测试用例的可读性/提高测试用例的可维护性
(特别是 UI 频繁变化的项目)
page object 设置模式中,不需要在 page 里定位的方法中加上断言(why)
用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,

如何去提升用例的稳定性?

time.sleep( )

  • driver.implicitly_wait(30)
  • 多用 try 捕捉,处理异常
    -此时我们要分析出不稳定的原因,然后有针对性的去解决问题。主要有以下几
    个方面 :
    一,网速问题:有的时候网页加载的比较慢,在程序执行的时候要操作的元素没
    有显示出来。这种情况比较常见,运行一次网速好的时候通过了,再运行一次,
    页面没有打开,就不通过了。为了提高稳定性,我们只能牺牲运行时间了,在经
    常检测失败的元素前加上等待时间,等要操作的元素出现之后再执行下面的操作。
    二,Selelnium 的原因:Selenium1.0 和 2.0 还是有区别的,有些儿函数在 2.0
    下运行确实有时而有效,时面无效。如果 mouseover()函数,就是这种情况, 我
    们需要避免使用这类的函数。
    三,多线程的时候,测试用例间相互影响。虽然多线程的时候运行速度比较快,
    但是如果用例之间的耦合性没有设计好,也会影响的,如果用例 A 先于用例 B
    执行的时候,就会影响到用例 B;反之则没有问题。这种情况,如果你的自动化
    测试工程打算多线程的时候,提前就要把测试用例测试的耦合度比较松,尽量没
    有任何关系,因为多线程的执行顺序是不受控制的。

你的自动化用例的执行策略是什么?

自动化测试用例的执行策略是要看自动化测试的目的,通常有如下几种策略:
一,自动化测试用例是用来监控的,在此目的下,我们就把自动化测试用例设置
成定时执行的,如果每五分钟或是一个小时执行一次,在 jenkins 上创建一个定
时任务即可。
二,必须回归的用例。有些儿测试用例,如 BVT 测试用例,我们在公司产品任何
变动上线之前都需要回归执行。那我们就把测试用例设置成触发式执行,在
jenkins 上将我们的自动化测试任务绑定到开发的 build 任务上。当开发人员在
仿真环境上部代码的时候,我们的自动化测试用例就会被触发执行。
三,不需要经常执行的测试用例。像全量测试用例,我们没有必要一直回归执行,
必竟还是有时间消耗的,有些非主要业务线也不需要时时回归。这类测试用例我
们就采用人工执行,在 jenkins 创建一个任务,需要执行的时候人工去构建即可

什么是持续集成?

持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是
一个漫长并且无法预测的过程。集成过程中可能会爆发大量的问题,因此集成过
程需要尽可能小而多,实际上持续集成讲的是不断的去做软件的集成工作。持续
集成,最简单的形式是包括一个监控版本控制(SVN 等等)变化的工具。当变化
被发觉时,这个工具可以自动的编译并测试你的应用。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:39:53  更:2021-08-05 17:40:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:37:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码