1、HTTP协议有什么特点?有哪几类状态码,分别表示什么意思?
特点:
l 支持客户/服务器模式。
l 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
l 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type(Content-Type是HTTP包中用来表示内容类型的标识)加以标记。
l 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
l 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
状态码:
HTTP协议的状态码由3位数字组成,第一个数字定义了响应的类别,共有5中类别:
l 1.1xx: 指示信息--表示请求已接收,继续处理
l 2.2xx: 成功--表示请求已被成功接收、理解、接受
l 3.3xx: 重定向--要完成请求必须进行更进一步的操作
l 4.4xx: 客户端错误--请求有语法错误或请求无法实现
l 5.5xx: 服务器端错误--服务器未能实现合法的请求
2、列举出10个你常用的shell命令,并说明其作用
1、 ls: 类似于dos下的dir命令;2、cd: 用于切换用户当前工作目录;3、pwd:用于显示用户当前工作目录;4、mkdir 和 rmdir;5、cp:复制命令;6、mv:移动命令;7、rm删除命令;8、du命令显示目前的目录所占用的磁盘空间,、df命令可以显示目前磁盘剩余空间;9、cat命令;10、echo命令等
3、简述cookies和session是怎么工作的?
cookie的工作原理:是一种由服务器发送给客户端的片段信息,存储在客户端浏览器的内存或硬盘当中的技术。
session的工作原理:将使用者相同的资料存储在服务器中,这样用户无法禁用session的使用。
4、哪一个方法用来返回变量类型?(python)
Type
5、哪一个方法用来列出一个类下的所有属性,方法,以及变量
(dir())
6、python 的类可以有多个父类么?
可以[mro]
7、字符串方法format是用来去掉字符串的左右空格的么?
不是,format()格式化输出方法可以说是%s的加强型,特别是在处理更复杂的格式化输出过程时候,可以更精确的进行达到输出目的
8、哪一个函数是用来获得字符串长度?
(len())
9、selenium中如何判断元素是否存在?
第一种:捕获异常方法
l 如果没找到元素会抛异常,返回False
l 如果找到元素就返回Ture
l 但是这个方法有个弊端,如果页面上存在多个一样元素,也会返回Ture的(也就是说只要页面上有元素就返回Ture,不管几个)
第二种:find_elements方法
l find_elements方法是查找页面上所有相同属性的方法。
l 由于元素定位的方法很多,八大元素定位方式:id,name等。
l 写一个函数判断,找到就返回Ture,没找到就返回False(或者不止一个)
10、selenium中hidden或者是display = none的元素是否可以定位到?
不能。selenium不能定位不可见的元素。display=none的元素实际上是不可见元素。
11、selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?
l 在寻找元素时,加上显示等待或者隐式等待,这样在对元素进行操作之前保证元素被找到,进而提高成功率;
l 在对元素操作之前,比如click,如果该元素未display(非hidden),就需要先滚动到该元素,然后进行click操作;
l 被点击的元素一定要占一定的空间,因为selenium默认会去点击元素的中心点,不占空间的元素计算不出中心点;
l 被点击元素不能被其它元素遮挡;
l 判断元素是否可以被点击。
12、如何提高selenium脚本的执行速度?
l 尽量使用by_css_selector()方法:by_css_selector()方法的执行速度比by_id()方法的更快,因为源码中by_id()方法会被自动转成by_css_selector()方法处理
l 使用等待时,尽量使用显示等待,少用sleep(),尽量不用隐式等待
l 尽量减少不必要的操作:可以直接访问页面的,不要通过点击操作访问
l 并发执行测试用例:同时执行多条测试用例,降低用例间的耦合
l 有些页面加载时间长,可以中断加载
13、用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?
l 测试专属profile,尽量让静态资源缓存
l 尽量使用显式等待
l 尽量使用测试专用环境,避免其他类型的测试同时进行,对数据造成干扰
14、你的自动化用例的执行策略是什么?
l 每日执行:比如每天晚上在主干执行一次
l 周期执行:每隔2小时在开发分之执行一次
l 动态执行:每次代码有提交就执行
15、自动化测试的时候是不是需要连接数据库做数据校验?
一般不需要,这是单元测试做的事情,在自动化测试层尽量不要为单元测试层没做的工作还债。
16、id,name,clas,xpath, css selector这些属性,你最偏爱哪一种,为什么?
Xpath和css,这两种方式相对灵活一些。
17、如何去定位页面上动态加载的元素?
(显式等待)
18、selenium的原理是什么?
原理构成三部曲:浏览器、 driver、client:写的代码
在selenium启动以后,driver其实充当了服务器的角色,跟client和浏览器通信,client根据webdriver协议发送请求给driver,driver解析请求,并在浏览器上执行相应的操作,并把执行结果返回给client。
19、webdriver的协议是什么?(webdriver协议本身是http协议,数据传输使用json。
webdriver协议本身是http协议,数据传输使用json。
20、什么是page object设计模式?
Page Object 是 Selenium 自动化测试项目开发实践的最佳设计模式之一,Page Object 的主要体现于对界面交互细节的封装,这样可以使测试案例更关注与业务而非界面细节,提高测试案例的可读性。
21、怎样去选择一个下拉框中的value=xx的option?使用select类处理下拉框
22、自动化测试用例从哪里来?
从手工测试当中选取,尽量选择
1、简单且需要反复回归
2、稳定且不会经常变化
3、优先覆盖核心功能
23、你觉得自动化测试最大的缺陷是什么?
实现成本高,运行速度慢,需要一定的代码能力才能进行维护。
24、webdriver可以用来做接口测试吗?(不可以)
25、selenium 是否可以调用js来对dom对象进行操作?(可以)
26、selenium 是否可以向页面发送鼠标滚轮操作?(不可以)
27、selenium 是否可以模拟拖拽操作?(可以,action_chains)
28、selenium 对下拉列表的中的选项进行选择操作时,需要被操作对象的标签是什么?(select)
29、selenium 上传文件操作,需要被操作对象的type属性是什么?(file)
30、接口测试流程
l 需求评审,熟悉业务和需求
l 开发提供接口文档
l 编写接口测试用例
l 用例评审
l 提测后开始测试
l 提交测试报告
31、http的特点和组成
组成:报文首部、空行、body
32、get和post区别
l GET提交的请求数据包含在URL中(非安全),POST提交的请求数据包含在请求正文中(安全)
l GET多用于获取资源和读取数据(安全),POST多用于修改和写入数据(非安全)
l GET提交的请求数据会被保存在浏览器缓存中,POST提交的请求数据不会被浏览器主动保存
l GET请求在浏览器回退时是无害的,POST请求在浏览器回退时会再次提交
l GET提交的请求数据有大小限制(浏览器限制了URL的长度),POST提交的请求数据没有大小限制
l GET请求只能发送ASCII字符,POST请求能发送更多类型的数据
l GET请求比POST请求要快,因为POST请求会先将请求头发送给服务器进行确认,然后才真正发送数据
l GET请求产生一个TCP数据包,POST请求产生两个TCP数据包
33、常见状态码
TCP数据包,POST请求产
1xx Informational(信息性状态码) 接受的请求正在处理
2xx (3种)
200 OK:表示从客户端发送给服务器的请求被正常处理并返回;
204 No Content:表示客户端发送给客户端的请求得到了成功处理,但在返回的响应报文中不含实体的主体部分(没有资源可以返回);
206 Patial Content:表示客户端进行了范围请求,并且服务器成功执行了这部分的GET请求,响应报文中包含由Content-Range指定范围的实体内容。
3xx (5种)
301 Moved Permanently:永久性重定向,表示请求的资源被分配了新的URL,之后应使用更改的URL;
302 Found:临时性重定向,表示请求的资源被分配了新的URL,希望本次访问使用新的URL;
301与302的区别:前者是永久移动,后者是临时移动(之后可能还会更改URL)
303 See Other:表示请求的资源被分配了新的URL,应使用GET方法定向获取请求的资源;
302与303的区别:后者明确表示客户端应当采用GET方式获取资源
304 Not Modified:表示客户端发送附带条件(是指采用GET方法的请求报文中包含if-Match、If-Modified-Since、If-None-Match、If-Range、If-Unmodified-Since中任一首部)的请求时,服务器端允许访问资源,但是请求为满足条件的情况下返回改状态码;
307 Temporary Redirect:临时重定向,与303有着相同的含义,307会遵照浏览器标准不会从POST变成GET;(不同浏览器可能会出现不同的情况);
4xx (4种)
400 Bad Request:表示请求报文中存在语法错误;
401 Unauthorized:未经许可,需要通过HTTP认证;
403 Forbidden:服务器拒绝该次访问(访问权限出现问题)
404 Not Found:表示服务器上无法找到请求的资源,除此之外,也可以在服务器拒绝请求但不想给拒绝原因时使用;
5xx (2种)
500 Inter Server Error:表示服务器在执行请求时发生了错误,也有可能是web应用存在的bug或某些临时的错误时;
503 Server Unavailable:表示服务器暂时处于超负载或正在进行停机维护,无法处理请求;
34、接口的缺陷有哪些?
关联的接口越多越不好测,关联不明确的不好测
35、接口用例怎么设计
接口测试用例设计的重点,在于功能性的业务逻辑检查和参数检查。
1.功能:检查接口基础功能,是否完成了业务逻辑要求。可以把接口当作一个待测模块,分析接口功能需求,利用常规用例方法设计测试用例。常用的用例设计方法如下:
l 等价类划分法
l 边界值分析法
l 错误推测法
l 因果图法
l 判定表驱动法
l 正交试验法
l 功能图法
l 场景图法
2.数据:分析接口的输入参数,覆盖各种可能的场景。
(1)检查接口的输入,数据格式、数据类型、数据范围等
(2)检查接口的参数边界(传递的参数足够大或者为负、空值时)
(3)检查接口的参数的组合,可选、必选等
(4)检查接口的约束条件,不符合约束条件的,不需要设计用例
3.性能:接口是否造成性能瓶颈,能承受的压力范围
4.安全:接口是否涉及安全性
36、接口测试的注意点
检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
接口可用性、输入输出参数个数及命名、输入参数的必输项、输入参数的合法性、输出参数内容的正确性、 接口实现功能验证以及接口文档规范性。
37、接口对比什么数据
38、为什么做接口测试
①.越底层发现bug,它的修复成本是越低的。
②.能发现普通功能测试所发现不到的问题。
③检查系统的安全性、稳定性(服务端的一个缺陷可能会引起客户端的几个甚至十几个缺陷,更可怕的是服务端的缺陷有可能引起系统的崩溃,这对整个系统来说,损失将是不可估量的,因此服务端接口的质量将直接影响到系统的正确和稳定)
④.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。
⑤.接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。
⑥. 现在很多系统前后端架构是分离的,从安全层面来说:
(1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。
(2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息。
39、抓包怎么使用
40、json数据是什么数据?如何解析json数据结构
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。
41、postman的使用流程
l 新建1个collection集合【项目】
l 新建1个request请求【用例】
l 根据接口文档完成用例的覆盖【等价类,边界值,场景等覆盖】
l 完成断言处理
l 文本参数化、批量运行接口
l 输出测试报告
42、postman的变量有几种?
l 环境变量(Environment Variable)
l 本地变量(Local Variable)
l 全局变量(Global Variable)
l 数据变量(Data Variable)
43、postman怎么设计关联接口
post:
44、postman支持什么网络协议
Get:
45、newman的执行命令
导出postman的集合,后缀名为“.json”打开cmd进入pmtest目录输入执行命令:
newman run setNextRequest.postman_collection.json -d data.json -r html
命令说明
l run 代表要执行的postman脚本,即为导出的集合。
l -d 表示要执行的数据,也就是执行 Collection数据驱动的data.json的数据
l -r 生成测试报告类型,这里生成html格式报告
更多方法输入newman -h 即可查看
46、jmeter怎么安装配置
需要安装jdk为1.8版本以上来结合jmeter的使用,先检查自己电脑里面有jdk安装情况,再下载jmter文件进行安装,接着再在path路径下设置环境变量,路径为jmeter的bin路径,运行cmd命令检查即可。
47、jmeter的接口测试流程
拿到接口测试文档(产品、开发)、设计接口测试用例,可能会涉及到使用相应的工具、使用工具进行断言、执行接口测试用例、接口迭代测试、输出测试报告
48、jmeter的断言方式
响应断言、json断言、大小断言、jsr断言
49、jmeter怎么关联的
①正则表达式②边界提取器③Json Extractor提取器
50、jmeter的数据参数化有几种
用户参数、函数助手、CSV数据配置文件、用户自定义变量
51、什么是兼容性测试?测试的侧重点
指测试软件在特定的硬件平台上、不同的应用软件之间、不同的操作系统平台上、不同的网络等环境中是否能够很友好的运行的测试。
侧重点:1测试软件能否在不同的操作系统平台上兼容
2软件本身能否向前或向后兼容
3测试软件能否与其他相关的软件兼容
4数据兼容性测试,主要是指数据能否共享
52、测试策略有哪些
l 制定测试过程要使用的测试技术和工具。
l 制定测试启动,停止,完成标准。
l 进行风险分析和应对方案。
53、测试用例设计的完整过程
l 立项后测试需要拿到的文档:需求文档和设计文档,分析测试需求
l 设计测试用例
l 测试用例评审
l 环境搭建,测试环境=软件+硬件+网络+数据准备+测试工具
l 执行测试,并记录缺陷
l 测试总结报告及操作手册
54、alpha和beta测试的区别
区别:有无开发人员参与陪同。
Alpha测试主要由软件内部QA和测试团队在开发环境下执行,内部验收测试的一种形式。
Beta测试由软件最终用户在一个或多个客户场所进行,开发者通常不在测试现场。
55、需求文档不准确怎么办
首先汇报给直属领导,确认不是自己的理解问题。然后发起会议与产品经理,研发等团队讨论是否加入新的需求,如果必须增加,是否需要调整测试时间等问题。其次,根据新增需求,重新设计相关的测试用例,确保各方认同测试方案,接着继续执行测试用例。
56、怎么写一个好的测试计划
指定测试计划时候,明确测试对象、测试范围、任务、目标、组织,定义风险防控,明确通过/失败标准,保障计划顺利实施。
57、缺陷的流转全过程
l 测试工程师发现1个缺陷后,会把该缺陷标记为新建(new)状态给相应的测试主管或者负责人进行确定。测试负责人确认该缺陷是一个缺陷时,则会把该缺陷标记为打开(open)状态再提交给相应的开发人员进行确定,开发人员确认该缺陷是1个缺陷,则会把该缺陷修复后提交给相应的测试人员,并把该缺陷标记为修复(fix)状态,测试人员复测后发现该缺陷确实已经修复则把该缺陷标记为关闭(close)状态后关闭该缺陷。回归测试后发现已经被修复的缺陷又变为了缺陷,则可以把该缺陷再次打开,直到该缺陷被修复为止。
l 当测试人员提交的缺陷开发人员不认可时,开发人员会把该缺陷标记为拒绝(reject)状态重新指派给测试人员进行确认,如果测试人员误提该缺陷,则测试人员写明原因后把该缺陷标记为关闭(close)状态。如果复测返回的缺陷再次确认该缺陷是1个缺陷时,则测试人员把该缺陷标记为重新打开状态(reopen)状态,直到该缺陷被修复关闭为止。
58、bug的必备因素
缺陷ID、缺陷标题、创建者、创建时间、修复时间、所属版本、所属模块、缺陷状态、缺陷严重程度、修复优先级、指派对象、重现步骤、附件。
59、测试流程
测试计划设计、测试方案设计、测试需求分析、测试用例设计、测试环境配置、测试用例执行、缺陷跟踪回归、测试报编写、测试结束活动。
60、tcp/ip 4层
61、C/S与B/S区别
硬件环境不同
C/S用户固定,一般只应用于局域网中,要求拥有相同的操作系统,如果对于不同操作系统还要相应开发不同的版本,并且对于计算机电脑配置要求也较高。
B/S 要求有操作系统和浏览器就行,与操作系统平台无关(可以实现跨平台),对客户端的计算机电脑配置要求较低。
62、怎么更改linux时间
硬件时间:hwclock或者clock,设置的方法是
hwclock --set --date=”月日年时分秒”(月日年时分秒)
clock --set --date=”月日年时分秒”(月日年时分秒)
系统时间同步到硬件时间用hwclock–w (时间变为系统时间)
系统时间:date 设置的方法:
date 月日时分年
或者 date -s 月/日/年
date -s 时/分/秒
硬件时间同步到系统时间用hwclock–s (时间变为硬件时间)
63、postman怎么解决token
l 在登录接口访问后设置Postman的环境变量(Environment),例如设置环境变量名:token,值为登陆接口访问成功后,在responseBody中的token值。
l 访问其他接口时token值直接读取变量即可。Postman里面获取变量的语法为:{{变量名}}
64、jmeter怎么解决token
· 在登录之后再添加一个http请求命名为:获取token请求
· 在token请求里面添加正则表达式
· 在投资请求里面替换token参数为正则表达式的参数
· 在投资请求里面添加cookie,添加信息头管理器
· 然后就可以投资成功了
65、性能测试一般怎么做的?
l 准备工作
n 系统基础功能验证
n 测试团队组建
n 工具选择
n 预先的业务场景分析
l 测试计划
n 性能测试领域分析
n 用户场景剖析和业务建模
n 确定性能目标
n 制定测试计划的实施时间
l 测试脚本设计开发
n 测试环境设计
u 验证系统在实际运行环境中的性能外,还需要考虑到不同的硬件配置是否会是制约系统性能的重要因素!因此在测试环境中,需要部署多个不同的测试环境,
u 在不同的硬件配置上检查应用系统的性能,并对不同配置下系统的测试结果进行分析,得出最优结果(最适合当前系统的配置)。
u 配置大概举例eg:
1、数据库服务器
2、应用服务器
3、负载模拟器
4、软件运行环境,平台
n 测试场景设计
n 测试用例设计
n 脚本辅助工具的开发及使用
l 测试执行与管理
n 建立测试环境
n 执行测试脚本
n 测试结果记录
l 测试分析
n 测试环境的系统性能分析
n 硬件设备对系统性能表现的影响分析
n 其他因素分析
n 测试过程中发现的问题
66、怎么定位缺陷产生的原因
用户层面问题 -> Web页面/软件界面 ->中间件 ->后端服务 ->代码 ->数据库
67、jmeter有多个header怎么执行的
68、session和cookie的区别
Session是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现Session的一种方式。
69、linux查询实时日志
Tail –f 命令
70、什么是装饰器
python装饰器本质上就是一个函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外的功能,装饰器的返回值也是一个函数对象(函数的指针)。
71、ui设计库有哪些?
u Ant Design-蚂蚁金服,分为pc、移动、其他扩展等等,非常推荐的一个,可以解决中后台的前端设计。
u Clarity Design-teambition,严格来说不是前端框架,是一个他们的设计语言
u LuLu UI,是一个基于jQuery,针对PC网站,兼容ie8、ie7的前端UI框架,包含很多静态或动态UI组件。面向设计开发,基于html开发。区别于ant design面向中后台开发,LuLu UI非常适合面向外部用户的网站开发。
u iView,一套基于 Vue.js 的高质量UI 组件库。主要服务于 PC 界面的中后台产品。
u QMUI,腾讯出品,分为web、ios、安卓三个端
u Element,饿了么出品,结构清晰、不复杂
u Taro UI,一套基于 Taro 框架开发的多端 UI 组件库。京东用户体验设计部的凹凸实验室出品。
u WeUI,微信的前端框架,属于最简单,最轻巧
72、怎么设计自动下载自动化驱动文件
用python+selenium实现文件自动化下载,设置好相关参数,webdriver会自动保存对应的文档。
73、怎么打包py文件为exe文件
用cmd运行python,切换目录至需要打包的py文件目录下,输入代码“pyinstaller -F 文件名(带后缀py)”
常用参数说明:
–icon=图标路径
-F 打包成一个exe文件
-w 使用窗口,无控制台
-c 使用控制台,无窗口
-D 创建一个目录,里面包含exe以及其他一些依赖性文件
pyinstaller -h 来查看参数
74、css的选择器有几种
元素选择器、类选择器、id选择器、属性选择器、后代选择器、子元素选择器、相邻兄弟选择器、伪类选择器。
75、什么是静态页面和动态界面
静态页面:指的是网页中没有程序代码,只有HTML(即:超文本标记语言),一般后缀为.html,.htm,或者.xml等。
动态界面:显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
76、页面的id是动态的怎么用js来设计
随机+dom
77、html的常用标签有哪些?
基本
<html>…</html> 定义 HTML 文档
<head>…</head> 文档的信息
<meta> HTML 文档的元信息
<title>…</title> 文档的标题
<link> 文档与外部资源的关系
<style>…</style> 文档的样式信息
<body>…</body> 可见的页面内容
<!--…--> 注释
文本
<h1>...</h1> 标题字大小(h1~h6)
<b>...</b> 粗体字
<strong>...</strong> 粗体字(强调)
<i>...</i> 斜体字
<em>...</em> 斜体字(强调)
<center>…</center> 居中文本
<ul>…</ul> 无序列表
<ol>…</ol> 有序列表
<li>…</li> 列表项目
<a href=”…”>…</a> 超链接
<font> 定义文本字体尺寸、颜色、大小
<sub> 下标
<sup> 上标
<br> 换行
<p> 段落
图形
<img src=’”…”> 定义图像
<hr> 水平线
<del> 加删除线
表格
<table>…</table> 定义表格
<th>…</th> 定义表格中的表头单元格
<tr>…</tr> 定义表格中的行
<td>…</td> 定义表格中的单元
78、python做接口自动化的库怎么用?
79、python的unittest怎么跳过测试用例
80、怎么输出自动化的测试报告
u 创建测试类
u 创建测试套件
u 测试套件中添加测试执行用例
u 定义测试报告存放位置
u 运行测试用例
81、jmeter的测试报告怎么输出
执行cmd命令:jmeter -n -t 文件名.jmx -l result.jtl -e -o /tmp/ResultReport
参数说明:
● -n: 非GUI模式执行JMeter
● -t: 执行测试文件所在的位置
● -l: 指定生成测试结果的保存文件,jtl文件格式
● -e: 测试结束后,生成测试报告
● -o: 指定测试报告的存放位置
82、jmeter的性能插件有哪些?
TPS:每秒事务数,作用是在测试脚本执行过程中,监控查看服务器的TPS表现————整体趋势、实时平均值走向、稳定性等。
TRT:事务响应时间,该插件的主要作用是在测试脚本执行过程中,监控查看响应时间的实时平均值、整体响应时间走向等。
PerfMon Metrics Collector即服务器性能监控数据采集器。在性能测试过程中,除了监控TPS和TRT,还需要监控服务器的资源使用情况,如CPU、memory、I/O等。
83、jmeter并发100万怎么处理?(分布化处理)
84、js的dom操作有哪些?
85、selenim的定位方式有哪些?
u 以id属性定位:find_element_by_id()
u 以name属性定位:find_element_by_name()
u 以class属性定位:find_element_by_class_name()
u 以link text链接定位:find_element_by_link_text()
u 以partial link text模糊链接定位:find_element_by_partial_link_text()
u 以tag标签定位:find_element_by_tag_name()
u 以xpath路径定位:find_element_by_xpath()
u 以css定位:find_element_by_css_selector()
86、python怎么运行java文件
下载jpype模块、调用Java函数、调用main函数、调用辅助的class、调用Java包即可
87、什么是docker,怎么用docker
一个软件集装箱化平台,可以让开发者构建应用程序时,将它与其依赖环境一起打包到一个容器中,然后很容易地发布和应用到任意平台中。3大核心:镜像、容器、仓库。
88、什么是jenkins?怎么用jenkins
Jenkins是一款开源的,提供友好操作界面的持续集成工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。
89、python的列表常用函数有哪些
n list.count()统计
n list.append()添加对象:
n list.extend()扩展列表:
n list.pop()删除对象:
n list.remove()删除匹配项:
n list.insert()插入对象:
n list.copy复制列表:
n list.reverse()反向排序:
n list.index()获取索引:
n list.sort()排序:
n list[::2]步长:
90、怎么同时取出字典的键值对数据
a={name:,age:} for i ,j in a.items()
91、数据库的左右连接区别
left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录。
right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录。
92、数据库常用的函数有哪些
聚合函数:AVG、COUNT、MAX、MIN、SUM
字符串函数:
u length(x):返回字符串x的长度,以字节为单位
u char_length(x):返回字符串x的长度,以字符为单位
u substring(x,start,length):从字符串x的start位置开始返回长度为length的子字符串
u left(x,length):从字符串x的左边返回长度为length的子字符串
u right(x,length):从字符串x的右边返回长度为length的子字符串
u replace(x,char1,char2):将字符串x中的char1替换为char2
u concat(x,y):将字符串x和y拼接起来
u instr(x,char):返回char在字符串x中第一次出现的位置
数值函数:
u floor(x):返回小于等于x的最大整数
u ceiling(x):返回大于等于x的最小整数
u round(x):返回x的整数部分(四舍五入)
u round(x,y):返回x精确到y位的结果(四舍五入)
u truncate(x,y):返回x精确到y位的结果(非四舍五入)
u abs(x):返回x的绝对值
时间日期函数:
u curdate():返回当前系统的日期
u curtime():返回当前系统的时间
u now():返回当前系统的日期和时间
u date_add(x,interval n f):返回时间x加上间隔时间n的结果, f用于指定时间单位
second/minute/hour/day/week/month/year
u datediff(date1,date2):返回两个日期的差值
u timediff(time1,time2):返回两个时间的差值
u date_format(x,fmt):返回时间x按照指定格式fmt格式化的结果
93、数据库怎么授权
数据库管理员通过使用GRANT语句进行授权:GRANT 权限 ON 数据库对象 TO 用户名@用户地址 IDENTIFIED BY 用户口令
94、数据库事务的操作有哪些?
开始事务:start transaction
结束事务:commit//提交事务rollback//事务回滚
事务回滚:
事务提交:
95、数据库的删除数据的方式
删除数据库
语法: DROP DATABASE 数据库名称;
删除数据表
语法: DROP TABLE 表名;
96、数据的存储过程的语法
CREATE PROCEDURE 过程名([[IN|OUT|INOUT] 参数名 数据类型[,[IN|OUT|INOUT] 参数名 数据类型…]]) [特性 ...] 过程体
97、数据库的备份和恢复数据
备份:mysqldump–u root –p root 数据库名称>备份的文件路径
恢复:①使用SQLYog导入;②使用source 数据.sql文件即可
98、怎么远程连接数据库
进入命令行,windows cmd,连接:
mysql -u 用户名 -p密码 -h 服务器IP地址 -P 服务器端MySQL端口号 -D 数据库名
99、怎么查询数据库的null数据
is null
100、数据库的常用数据类型
MySQL数据库支持的数据类型:整型(整数)、浮点型(小数)、字符串 (可以输入数字,字母,中文,符号)、时间日期、enum数据类型、set数据类型。