自动化常见的一些问题

1.python数据类型有哪些?

字符串类型:str
数字类型:int,float
列表类型:list
元组类型:tuple
字典类型:dict
布尔类型:bool
集合类型:set

2.常用的元素定位方法:

元素有ID属性:find_element_by_id
元素有name属性的且是唯一:find_element_by_name
元素有class属性且是唯一:find_element_by_class_name
元素是超链接a标签:find_element_by_link_text(完全匹配)
find_by_element_by_partial_link_text(部分内容)
标签名字定位:find_element_by_tag_name
xpath定位:绝对路径/html;相对路径//find_element_by_xpath()
css定位:find_element_by_css_selector()
By定位:find_element(By.id,“值”)

3.自动化使用的模块是什么?

selenium:使用这个模块进行自动化测试;
from selenium.webdriver import Chrome
包含api(操作方法)
定位方法:八大定位方式
元素的操作方法:点击,输入
from selenium.webdriver.common.action_chains from ActionChains
鼠标操作方法:
move_to_element(移动到元素的位置)
drag_and_drop(拖动操作)
perform()

4.元组和列表的区别?

元组定义好后,里面的数据是不能进行任何变动的。(只读)
列表的数据可以改变。(修改)
元组是使用小括号定义,列表是使用中括号定义

列表的方法:

  1. 添加一个数据:append,insert
  2. 排序:sort
  3. 删除某个数据:pop,remove

5.常用的三种等待方法

强制等待:time
隐性等待:implicitly_wait()
显式等待:WebdriverWait()

6.新模块的测试,使用自动化合适吗?

新模块,如果还没有进行测试,有可能代码还会多次修改,导致我们定位元素出现困难;比如我们本来自动化脚本已经写好,元素已经定位好,但是新模块有个bug修改,导致代码发生了变化;导致自动化脚本有可能要重新编写。
首先:自动化脚本也是需要时间去写,去维护的,如果项目周期紧,运行的频率不高,不太适用。
适用于做自动化的模块:功能测试完毕后,模块稳定,代码很少修改,又会经常使用的模块:主流程,通常自动化用于对回归测试进行测试;

适合做自动化测试的条件:

  1. 需求变动不频繁
  2. 项目周期长
  3. 项目需要回归测试

7.自动化测试的步骤,或者怎么编写自动化脚本?

我们一般是用在回归测试,模块已经稳定,方便做自动化测试,节约项目时间。
我们首先会手动走一遍回归流程,再一次熟悉模块之间的流程,以及数据交互,熟悉源代码,初步确定关键元素的定位方式
怎样编写的自动化的脚本:

  1. 首先导入selenium,然后使用selenium模块下的方法初始化浏览器,然后使用get方法发开我们的测试url
  2. 让后使用selenium提供的元素定位方法,定位到我们要操作的元素。
  3. 在然后使用selenium提供的元素操作方法模拟手动测试,对元素进行操作。
  4. 再然后构造csv数据,然后进行数据驱动
  5. 使用pytest框架,管理自动化测试脚本,管理测试数据;管理测试数据,对运行结构断言,最后输出测试报告。

8. python语言属于什么语言

python是属于解释性语言,通常是可以跨平台(windows下python代码可以在linux运行)
python可以面向对象设计,也可以面向过程设计;
属于动态语言:不需要定义变量的类型;

9. 自动化涉及哪些内容

Web自动化:python,selenium,定位方式,pytest框架
接口自动化:python,requests模块,请求;
App自动化:monkeyrunner,appnium

常见的面试问题

猜你喜欢

转载自blog.csdn.net/weixin_45908488/article/details/124914628