刷题(三)
1. GET和POST有哪些区别?
1). get参数通过url传递,post则放在请求体中;
2). get请求在url中传递的参数有长度限制,因此数据传输量较小(最大为2kb左右),post传输的数据量相对较大
3). get相对post来说,不太安全,因为参数直接暴露在url中,所以不能用来传递敏感信息,如登录名、密码等
4). get幂等,post不幂等。幂等是指同一个请求方法执行多次和执行一次的效果完全相同
5). get请求用于信息获取,不会更改服务器的状态,而post请求会
2. 写一下冒泡排序
3. 简述一下TCP与IP的区别
1). 所处位置不同
TCP全称传输控制协议,它位于TCP/IP模型中的传输层,而IP协议位于TCP/IP模型中的网络层
2). 可靠性不同
TCP协议通过三次握手,能够提供可靠的字节流服务
IP协议负责传送数据包,并不能保证数据包的完整
4. Selenium自动化,遇到iframe如何处理?
对于非嵌套的iframe
1). 从主页面切换到iframe:driver.switch_to.frame(参数) frame的参数可以是iframe标签的name值,可以是id,也可以是下标,还可以是一个iframe元素对象
2). 从iframe切换回主页面:driver.switch_to.default_content()
对于嵌套的iframe
1). 从主页面切换到指定的iframe:driver.switch_to.frame(参数) 参数可以是id
2). 从子iframe切换到父iframe:driver.switch_to.parent_frame()
5. 遇到<d1 class="inf_bar clearfix">这种class中间有空格的控件,如何通过class定位?
1). 不能直接用class_name来定位,否则会报错
2). 可以采用xpath定位,结合xpath中的contains()函数,定位表达式为 //d1[contains(@class, 'inf_bar')]
3). 可以采用CSS定位,定位表达式为 .inf_bar.clearfix (空格变成.)
6. COOKIE与SESSION有什么区别?
1). 保存的位置:cookie保存在客户端,服务器可以知道其中的信息,session保存在服务器,客户端不知道其中的信息
2). 保存的类型:cookie中保存的是字符串,session中保存的是对象
3). 安全性:cookie安全性差,session安全性高
4). 对服务器的影响:session会在一定时间内保存在服务器。当访问增多,会比较占用服务器的性能,考虑到减轻服务器压力,应当使用cookie
5). 生命周期:在不设置条件的情况下两者都是在浏览器关闭后小时(可在客户端设置cookie的存活时间,也可在服务器端设置session的存活时间)
注意:因为session的运行依赖session id,而session id是存在cookie中的,也就是说,如果浏览器禁用了cookie, 同时session也会失效(但是可以通过其它方式实现,比如在url中传递 session_id)
7. Web端功能自动化,如何实现(非input型上传)上传文件
对于非input标签的上传,需要借助第三方工具
1) Python pywin32库结合winSpy,识别对话框句柄,进而操作
2) 还可以利用AutoIt,调用其生成的au3或exe文件
8. 测试中遇到readonly属性的控件,需要如何处理?简述一下思路
基本思路:先用js去掉readonly属性,然后直接输入文本内容
比如12306的车票查询,日期一栏默认是readonly,可以用js方法 ele.removeAttribute("readonly") 去掉readonly属性,再用js方法 ele.value="XXX" 输入值
9. Web端功能自动化中,如何切换句柄
1). 获得当前所有窗口的句柄:handles = driver.window_handles
2). 获得当前窗口的句柄:driver.current_window_handle
2). 切换到最新打开的窗口:driver.switch_to.window(handles[-1])
3). 切换到第一个窗口:driver.switch_to.window(handles[0])
10. Web端功能自动化中,使用Unittest框架,测试用例的命名有哪些规则?如何控制测试用例执行顺序
测试类一般以Test开头,测试用例一般以test开头
测试用例是按照字母a-z,数字0-9的顺序来执行,可以通过给测试用例函数添加数字或字母来控制测试用例的执行顺序
__EOF__

本文链接:https://www.cnblogs.com/my_captain/p/9388345.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?