一、背景
目前公司大部分项目都是通过开发走流程和测试执行用例来保证开发和测试质量的,当遇到开发周期短开发和测试无法验证所有的流程时就可能出现不可预料的问题。
自动化的测试(单元测试、UI自动化测试等)是保证开发和产品质量的重要保障,如果测试案例足够完整,那通过执行测试用例就可以检查出基本的问题,确保问题在开发测消化,给测试同事一个质量高的版本以减少测试工作量,提高产品的交付速度和质量。 想到原来团队的支付模块(包含优惠券、凑单、白条、拼单、银行卡支付、京东支付、微信支付、零钱支付、组合支付等非常复杂的支付体系)平均每天数亿元的支付量,大促期间可能有数十亿元的支付量,整个流程又极其复杂并且不允许有任何问题出现,因此每改一个再小的功能都会要求测试把所有的流程要验证一遍,执行用例的工作量是很大的。当初测试团队是通过UI自动化测试来执行用例的,这保证了模块的质量并且减轻了测试的工作量,并且可以利用一台机器定时去执行UI自动化测试用例,通过这种方式保证了支付模块的稳定性。因此决定尝试下UI自动化测试是否能够用于我们的项目。
二、初步尝试
UI自动化测试是指通过编写自动化脚本来模拟用户与应用程序的交互,测试应用程序的用户界面是否正常工作。这些自动化脚本可以模拟用户的点击、输入和其他交互动作,以及验证应用程序的响应和预期结果。UI自动化测试可以帮助开发团队检测和解决用户界面的问题,提高应用程序的质量和稳定性。常见的UI自动化测试工具包括Selenium、Appium和Cypress等。
通过调研决定使用基于Python + Selenium的UI自动化测试方案。
Selenium是一个流行的自动化测试框架,用于测试Web应用程序的用户界面。它提供了一组功能强大的工具和库,允许开发人员使用多种编程语言(如Java、Python、C#、JavaScript等)编写自动化测试脚本。
Selenium可以模拟用户在浏览器中的交互行为,例如点击按钮、输入文本、选择下拉菜单等。它支持各种浏览器,包括Chrome、Firefox、Safari等,并且可以在不同的操作系统上运行。
Selenium的核心组件包括:
- Selenium WebDriver:用于控制浏览器并执行测试操作的API。
- Selenium Grid:用于在多个浏览器和操作系统上并行运行测试的工具。
- Selenium IDE:一个浏览器插件,用于录制和回放用户界面操作,生成测试脚本。
使用Selenium,您可以编写灵活、可靠的自动化测试脚本,验证Web应用程序的功能和用户界面是否正常工作。它是一个广泛使用的工具,被许多开发团队和测试团队用于构建自动化测试套件。
如果想开始单元测试需要学习Python和Selenium,花了几天时间学习了Python和Selenium,实现了一个基础版的登陆流程的自动化测试。期间搭建Python开发环境以及安装Selenium以及对于的Chrome对应的webdriver,由于网上大部分都是老版本的资料,导致经常运行不起来,于是去系统看了Selenium官网 ,最终实现了登陆功能的测试用例,如下所示:
js复制代码
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.action_chains import ActionChains
import time
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://star-agw.qhhrly.cn/#/login')
# 等待加载
driver.implicitly_wait(4)
# 获取登录按钮
element=driver.find_element(By.CLASS_NAME, value='login-com-btn')
# 用户名输入框
userAccountEle = driver.find_element(By.ID, value="userAccout")
# 密码输入框
passwordEle = driver.find_element(By.CSS_SELECTOR, value='input[type="password"]')
# 验证码输入框
veriCodeEle = driver.find_element(By.CSS_SELECTOR, value='input[placeholder="请输入验证码"]')
# 输入登录信息和验证码
userAccountEle.send_keys('admin')
passwordEle.send_keys('Aa1234..')
veriCodeEle.send_keys('1234')
# 点击登录
element.click()
执行效果如下:
于是决定实现建档流程的测试用例,而有些页面的css命名不好查询,又要不停的验证,还需要去深入学习Selenium知识,也蛮费时间的,于是想通过开源的工来辅助写自动化测试用例,而Selenium正好有一个浏览器插件,用于录制和回放用户界面操作,生成测试脚本,于是决定去试试。
三、借助Selenium IDE,自动化生成自动化测试用例的探索
Selenium IDE是一种用于自动化Web应用程序测试的工具。它是一个浏览器插件,可以记录和回放用户在浏览器中执行的操作。Selenium IDE具有简单易用的界面,可以帮助用户快速创建和编辑测试用例。有以下特点:
- 它支持多种浏览器,包括Chrome、Firefox和Safari。
- Selenium IDE可以将测试用例导出为不同的编程语言,如Java、Python和C#,以便在测试框架中使用。
- 它还提供了丰富的断言和验证功能,可以检查页面上的元素和内容。
- Selenium IDE是一个功能强大的工具,可以在开发过程中提高测试效率和准确性。
接下来看下它生成一个创建产品的UI自动化测试用例有多简单:
(1)、生成新建产品自动化测试用例
新建一个open命令,target输入基础版的地址,如下所示:
(2)、点击右上角录制
将会使用WebDriver模拟Chrome浏览器打开基础版的登陆页面,接着会抓取你的每一个操作作为自动化测试用例,过程如下所示:
根据你的操作生成的用例如下所示:
(3)、测试下脚本是否可运行,可以看到它执行了上面生成的用例且帮我们新建了一个产品
(4)、它也可以导出很多语言的脚本
以上就是生成UI自动化测试用例的流程,它不需要使用者有任何UI测试的基础知识。
四、一些思考
如果UI测试用例的编写或者生成足够简单方便,那大家的使用成本会降低,对提升开发质量和减轻测试的压力一定会有很大的帮助。未来可以把一些工具(包括自研与开源)与测试团队的自动化测试系统融合,或许可以帮我们做很多事情:
1、通过类似于Selenium IDE这样的工具或者自研工具,录制用户操作或者其它方式自动化生成UI测试用例;
2、工具可以生成用例也可以执行用例;
3、生成的用例可以导出为Python等多种语言与测试团队的系统对接;
4、测试同事只需要根据用例构造测试用例所需要的数据,自动执行,只需要关注结果是否是预期结果;
5、定时执行用例并与页面错误收集工具结合,实时上报异常数据,并通知开发;
6、开发也可以使用工具生成用例,验证流程,提升质量。
关于“电脑IP地址每天都一样吗?”这个问题,答案并非一成不变,而是取决于多种因素,尤其是IP地址的类型——动态IP还是静态IP。同时,如何找到电脑的IP地址,也有多种便捷的方法。下面,我们就来详细探讨这两个问题。
首先,我们需要明确IP地址的概念。IP地址(Internet Protocol Address),即互联网协议地址,是分配给连接到互联网上的每一个设备或网络接口的一个独特的数字标识。它是互联网通信的基础,有了IP地址,设备之间才能进行数据的传输和交换。
一、IP地址的类型与更换频率
IP地址主要分为两种类型:静态IP和动态IP。
●静态IP地址:
静态IP地址是长期固定分配给一台设备的。一旦设备被分配了一个静态IP地址,除非进行手动更改或网络配置发生变化,否则该设备的IP地址将保持不变。这种IP地址通常用于需要稳定网络连接的场景,如服务器、远程访问等。因为静态IP地址不会频繁更换,所以它为网络服务的稳定性和可靠性提供了保障。
●动态IP地址:
与静态IP地址不同,动态IP地址则是根据网络环境和需求动态分配给设备的。在很多家庭网络或小型企业网络中,当设备连接到网络时,通常会通过DHCP(动态主机配置协议)服务器自动分配一个IP地址。动态IP地址的更换频率因网络服务提供商(ISP)而异。
一些ISP可能会在用户每次重启路由器或连接设备时分配一个新的IP地址,这意味着IP地址可能每天都会变化。而另一些ISP则可能采用更长的租期策略,IP地址可能在几天、几周甚至几个月内保持不变,直到租期结束或ISP决定重新分配。因此,对于动态IP用户来说,IP地址的更换频率并不是固定的,而是取决于ISP的分配策略和网络配置。
二、如何找到电脑的IP地址
了解了IP地址的类型和更换频率后,接下来我们来看看如何找到电脑的IP地址。无论是Windows系统还是Mac系统,都有多种方法可以轻松找到电脑的IP地址。
方法1:通过网络设置查看IP地址
Windows系统:
在Windows系统中,你可以通过点击桌面右下角的网络图标(Wi-Fi或以太网),然后选择“网络和Internet设置”来查看IP地址。
在“状态”页面,查看你的网络“属性”,你会看到当前连接的网络信息,包括IPv4地址,这就是电脑在局域网中的IP地址。
如果你连接的是Wi-Fi网络,右键点击任务栏右下角的Wi-Fi图标,选择“打开网络和Internet设置”,然后点击“属性”,同样可以看到IPv4地址。
Mac系统:
在Mac系统中,你可以通过点击屏幕左上角的Apple图标,选择“系统偏好设置”,然后选择“网络”来查看IP地址。
在左侧栏中选择你当前使用的网络连接(如Wi-Fi或以太网),然后在右侧窗口中你会看到当前网络的连接状态。
点击“高级”,进入“TCP/IP”选项卡,这里显示的“IPv4 地址”就是你的局域网IP地址。
方法2:通过命令提示符或终端查看IP地址
除了通过网络设置查看IP地址外,你还可以通过命令提示符或终端来查看。
Windows系统:
在Windows系统中,按下“Win+R”键,输入“cmd”并按回车,打开命令提示符窗口。
然后输入“ipconfig”命令并按回车,系统会显示网络配置信息。
在其中,你可以找到“IPv4 地址”,这就是你的局域网IP地址。
如果你连接了多个网络适配器(如以太网和Wi-Fi),请找到当前使用的适配器对应的IP地址。
Mac系统:
在Mac系统中,你可以通过按下“Command+Space”然后输入“Terminal”来启动终端。
在终端中输入“ifconfig”命令并按回车,终端会显示详细的网络配置信息。
找到显示“en0”(有线连接)或“en1”(无线连接)的部分,对应的“inet”值就是你的局域网IP地址。
方法3:通过IP地址查询网站查看外部IP地址
除了查看电脑的内部IP地址外,有时我们还需要查看外部IP地址。外部IP地址是由网络服务提供商分配的,用于在互联网中识别你的设备。你可以通过访问IP地址查询网站来查看外部IP地址。这些网站会自动显示你当前的外部IP地址,通常还会附带位置信息和互联网服务提供商(ISP)信息。
三、延伸阅读
1、怎样更改网络的IP地址?
更改网络IP地址,可通过重启路由器、断开并重新连接网络、联系ISP更换或手动设置静态IP实现,亦可使用代理IP服务(如虎观代理IP)进行更改。
2、电脑IP地址查询怎么查询不到?
电脑IP地址查询不到,可能因网络连接故障、防火墙设置过严、DHCP或DNS服务器问题等导致。解决方法包括检查网络连接、重启网络设备、调整防火墙设置、检查DHCP和DNS服务器状态,以及更新或修复操作系统等。
总结:
综上所述,电脑IP地址是否每天都一样取决于其类型——静态IP还是动态IP。静态IP地址长期固定不变,而动态IP地址则可能根据网络服务提供商的分配策略和网络配置而频繁更换。同时,无论你是使用Windows系统还是Mac系统,都有多种方法可以轻松找到电脑的IP地址。通过掌握这些方法,你可以更好地管理你的网络连接和设备配置,确保网络服务的稳定性和可靠性。
评论记录:
回复评论: