<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq18__的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq18__</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq18__]]></copyright><item><title><![CDATA[Playwright 绕过滑块登录，直接打开页面录制自动化脚本（亲测有效）]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/159761860</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/159761860</guid><author>qq18__</author><pubDate>Thu, 02 Apr 2026 14:15:08 +0800</pubDate><description><![CDATA[在做自动化测试时，最头疼的莫过于登录环节的滑块验证——尤其是部分网站风控严格，不仅滑块难滑，甚至会识别 Playwright 自动化浏览器，直接提示「操作过于频繁」，导致脚本无法正常运行。近期在测试时，我踩遍了滑块登录的坑，最终摸索出一套「绕过滑块、免登录直接打开页面，再进行脚本录制」的完整方案，亲测100%有效，今天整理成博客，分享给有同样困扰的小伙伴。]]></description><category></category></item><item><title><![CDATA[UI自动化测试--step2---使用用户名与密码模拟登陆操作]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/118552044</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/118552044</guid><author>qq18__</author><pubDate>Fri, 09 Jul 2021 16:43:02 +0800</pubDate><description><![CDATA[上次写到我们打开了Excel表格，读取到了目标url,并作为参数传到driver.get()函数，打开了想要打开的网址，接下来我们使用用户名与密码登录网站

1.首先在之前的Excel文件中新建一个sheet页，命名为登录，用户名跟密码保存在Excel表格中



2.还是使用之前的代码读取这两个信息，这个时候我们就可以发现可以将之前读取用例的代码封装为一个函数，方便后续sheet页中的调用


...]]></description><category></category></item><item><title><![CDATA[UI自动化测试]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/117706583</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/117706583</guid><author>qq18__</author><pubDate>Wed, 07 Jul 2021 15:15:17 +0800</pubDate><description><![CDATA[1.读测试用例

2.执行
]]></description><category></category></item><item><title><![CDATA[在线学习网站页面制作]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/106327743</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/106327743</guid><author>qq18__</author><pubDate>Mon, 25 May 2020 17:41:05 +0800</pubDate><description><![CDATA[确定页面的版心

/*版心*/
.w {
	width: 1200px;
	margin: auto;
}


制作header

header高度：42px
整个header分为四部分
logo
nav
search
user
基本结构:

&lt;!--header头部模块开始--&gt;
		&lt;div class="header w"&gt;
			&lt;div class="logo"&gt;
				&lt;!--这里是网页logo--&gt;
				&lt;!--&lt;img sr.]]></description><category></category></item><item><title><![CDATA[利用浮动让多个盒子在同一行显示]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/106188675</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/106188675</guid><author>qq18__</author><pubDate>Mon, 18 May 2020 11:00:47 +0800</pubDate><description><![CDATA[预期效果如图所示：
首先用html定义所需的几个盒子结构
&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="UTF-8"&gt;
		&lt;title&gt;浮动&lt;/title&gt;
		&lt;link rel="stylesheet" type="text/css" href="css/float.css"/&gt;
	&lt;/head&gt;
	&lt;body&gt;
		&lt;div class=]]></description><category></category></item><item><title><![CDATA[使用配置类实现配置文件的功能]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105957112</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105957112</guid><author>qq18__</author><pubDate>Wed, 06 May 2020 19:06:54 +0800</pubDate><description><![CDATA[实现账户的增删改查时，刚开始是基于配置文件的具体可看上篇文章，现在用配置类来实现使用注解时bean.xml中的功能。
/**
 * 该类是一个配置类，作用跟bean.xml相同
 * spring中的新注解configuration
 *      作用：指定当前类是一个配置类
 * commoponentScan
 *      作用：通过注解指定spring在创建容器时要扫描的包
 *    ...]]></description><category></category></item><item><title><![CDATA[html+css实现简单导航栏]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105954889</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105954889</guid><author>qq18__</author><pubDate>Wed, 06 May 2020 17:30:52 +0800</pubDate><description><![CDATA[实现一个简单的导航栏，当鼠标移动到某个链接时改变背景颜色

&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="UTF-8"&gt;
		&lt;title&gt;使用行内块元素做一个导航栏&lt;/title&gt;
		&lt;style type="text/css"&gt;
			a {
				disp...]]></description><category></category></item><item><title><![CDATA[html+css实现简单的新闻内容阅读界面]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105906701</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105906701</guid><author>qq18__</author><pubDate>Sun, 03 May 2020 18:09:51 +0800</pubDate><description><![CDATA[想要实现的页面如上图所示
&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="UTF-8"&gt;
		&lt;title&gt;&lt;/title&gt;
		&lt;style&gt;
			body {
				font-size: 16px;
			}
			.title {
				font-size...]]></description><category></category></item><item><title><![CDATA[使用spring实现增删改查时xml的配置]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105905251</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105905251</guid><author>qq18__</author><pubDate>Sun, 03 May 2020 16:43:11 +0800</pubDate><description><![CDATA[使用spring框架实现账户的增删改查时bean.xml中的配置如下：
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instan...]]></description><category></category></item><item><title><![CDATA[类选择器与id选择器的区别&基础选择器总结]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105875076</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105875076</guid><author>qq18__</author><pubDate>Fri, 01 May 2020 10:53:32 +0800</pubDate><description><![CDATA[以人身份证上的信息为例
类选择器（class）好比一个人的姓名，是可以重复使用的，例如：李明，张亮
id选择器好比一个人的身份证号，是唯一的，不得重复，只能使用一次

类选择器在修改样式时用的最多，因为它可重复使用
id选择器用于页面唯一的元素身上

基础选择器总结
 - 标签选择器
 p {
 	color: red;
 	... ...
 	}
 - 类选择器
  .nav {
 	color...]]></description><category></category></item><item><title><![CDATA[类选择器]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105869336</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105869336</guid><author>qq18__</author><pubDate>Thu, 30 Apr 2020 20:54:03 +0800</pubDate><description><![CDATA[语法
.类名 {
属性1：属性值1；
属性2：属性值2；
… …	
}
标签
&lt; p class='类名’&gt; &lt; /p&gt;
例子

&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;meta charset="UTF-8"&gt;
		&lt;title&gt;google的logo&lt;/title&gt;
		...]]></description><category></category></item><item><title><![CDATA[spring中注入数据的两种方式]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105617115</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105617115</guid><author>qq18__</author><pubDate>Sun, 19 Apr 2020 16:26:27 +0800</pubDate><description><![CDATA[模拟一个保存账户的方法，在bean.xml中分别使用构造函数和set方法两种方式注入数据
使用构造函数时，sevice层的代码为
public class AccountServiceImpl implements AccountService {
        private String name;
        private Integer age;

    public Accou...]]></description><category></category></item><item><title><![CDATA[软件测试面试题]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105605465</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105605465</guid><author>qq18__</author><pubDate>Sat, 18 Apr 2020 21:39:08 +0800</pubDate><description><![CDATA[作为一名应届生，最近开始找软件测试方面的工作，前前后后面试了三家公司，以下是面试过程中被问到的基础知识。
1.黑盒测试跟白盒测试的区别
黑盒测试把程序看作一个不能打开的黑盒子，在完全不考虑程序内部结构和内部特性的情况下，针对“软件界面”和”软件功能“进行测试，只检查功能是否符合需求规格说明书能正常使用。
白盒测试是对软件的过程性细节做细致的检查。这种方法是把测试对象看作一个打开的盒子，他允许测试人...]]></description><category></category></item><item><title><![CDATA[三层架构]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105182377</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105182377</guid><author>qq18__</author><pubDate>Sun, 29 Mar 2020 17:43:16 +0800</pubDate><description><![CDATA[三层指哪三层？

“数据访问层”
“业务逻辑层”
“表示层”

实际编程过程中，三层分别对应？

“数据访问层”——&gt;持久层Dao
“业务逻辑层”——&gt;业务层Service
“表示层”——&gt;UI

三者之间的关系
表示层调用业务层，业务层调用持久层
以下代码表示三层之间的相互调用关系，模拟一个保存账户的操作


业务层

接口



/**
 * 业务层接口
 */
public...]]></description><category></category></item><item><title><![CDATA[使用jdbc获取数据库的连接]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/105166313</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/105166313</guid><author>qq18__</author><pubDate>Sat, 28 Mar 2020 19:01:01 +0800</pubDate><description><![CDATA[使用jdbc获取数据库的连接一共需要5个步骤
1.注册驱动
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
2.获取连接
Connection conn = DriverManager.getConnection(“jdbc:mysql://localhost:3306/数据库名”,“用户名”, “密码”);
3.获取数据库预处...]]></description><category></category></item><item><title><![CDATA[数组模拟循环队列]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/104772013</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/104772013</guid><author>qq18__</author><pubDate>Tue, 10 Mar 2020 16:04:55 +0800</pubDate><description><![CDATA[package com.queue;

import java.util.Scanner;

import javax.management.JMRuntimeException;

public class CircleArrayQueue {

	public static void main(String[] args) {
		
		//测试
		CircleArrayQueue Queu...]]></description><category></category></item><item><title><![CDATA[数组模拟队列]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/104746181</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/104746181</guid><author>qq18__</author><pubDate>Mon, 09 Mar 2020 09:50:36 +0800</pubDate><description><![CDATA[使用数组模拟一个普通队列
package com.queue;

import java.util.Scanner;

import javax.management.JMRuntimeException;

public class ArrayQueue {

	public static void main(String[] args) {
		
		//测试
		ArrayQueue Que...]]></description><category></category></item><item><title><![CDATA[稀疏数组的压缩存储]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/104714224</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/104714224</guid><author>qq18__</author><pubDate>Sat, 07 Mar 2020 14:44:27 +0800</pubDate><description><![CDATA[假如有一个4X4的二维数组

可以看到，这个数组大部分元素都是0，因此是一个稀疏数组，假如每一个元素都要存储，需要存储16个元素，大大浪费内存，因此我们在存储时只需要存储数组的必要信息跟非零元素，将原始数组转换为

进行存储，第一行表示原数组的规模跟非零元素的个数，第二行表示原数组第一个非零元素所在的行和列和非零元素的值，以此类推，转换后的数组元素个数为9，因此大大节省了存储空间
由以上分析，我们...]]></description><category></category></item><item><title><![CDATA[idea导入maven项目Dependencies飘红线]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/104680004</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/104680004</guid><author>qq18__</author><pubDate>Thu, 05 Mar 2020 17:48:27 +0800</pubDate><description><![CDATA[使用idea导入maven项目时，Dependencies里面的依赖包一直飘红线，上网查了好多方法都没用，结果把项目remove了又重新导入之后问题解决了，神坑！

]]></description><category></category></item><item><title><![CDATA[递归算法的时间复杂度分析]]></title><link>https://blog.youkuaiyun.com/qq18__/article/details/104595236</link><guid>https://blog.youkuaiyun.com/qq18__/article/details/104595236</guid><author>qq18__</author><pubDate>Sun, 01 Mar 2020 17:34:20 +0800</pubDate><description><![CDATA[纸上谈兵无用，在此用一个例子说明
void fun(int a[],int n,int k) {    
int i;    
if (k==n-1)       
 	for (i=0; i&lt;n; i++)           
  		 printf("%d\n",a[i]); 
 else {      
    for (i=k; i&lt;n; i++)          
   ...]]></description><category></category></item></channel></rss>