一、有写过python脚本吗?
问题解析:写过一些,例如在做APP时,我们会写一些python脚本云采集一些性能数据。第二个的话,在做selenium自动化过程中,对于unittest框架,断言这些也比较熟悉。(可以笑一笑,总体来说吧,读python代码是没有问题,即便是有一些框架和语言之前没有见过,我自己可以通过pycharm再结合网上资料实战一下就能搞明白,我本人对python很感兴趣。
二、有做过自动化吗?
问题解析:使用过selenium的一些基础框架,例如常用到的框架就是python+selenium+unittest+元素定位+断言,这种模式,自动化这个东西是以后的发展趋势,我本人也在不断的实践中。
三、元素定位的方法有哪些?
问题解析:常见元素的定位通过xpath、id、name、link、css等,但我自己用的比较多的就是xpath。例如:相对路径加id属性进行元素定位(它的基本格式为://任意节点[@id='属性值'],如表达式://a[@id='login_home']),还有像:相对路径加非id属性进行元素定位(它的基本格式为://任意节点[@非id的任意属性='属性值'],如表达式://input[@name='username'],),还有如:相对路径加contains()函数进行元素定位(它的基本格式://包括有文本信息的节点[contains(text (),'文本信息')],如表达式://a[contains(text(),'新闻活动')],)等。
四、unittest框架包括哪些内容?
问题解析:unittest框架有4个重要框架
- 测试固件:测试固件代表测试用例执行前的准备动作和测试用例结束后的清理动作,如测试前要启动一个网,测试结束后要关闭网站等。
- 测试用例:一个测试用例就是一个最小的测试单元,也就是一个完整的测试用例。
- 测试套件:一个测试套件就是一组测试用例的集合,它的作用是将测试用例集合到一起,然后一次性执行集合中所有的测试用例。
- 测试运行器:一个测试运行器由测试执行和将用例执行后的结果提供给用户两部分功能组成。
unittest框架中还有4个重要的方法:
- setUp()方法:每个测试用例运行前,测试前的初始化工作
- tearDown()方法:每个测试用例结束后,测试后的清理工作
- setUpClass()方法:所有测试用例运行前运行,此方法必须使用@classmethod装饰器进行修饰,在setUp()方法之前执行,整个测试过程只执行一次。
- tearDownClass()方法:所有的测试方法运行结束后执行,必须使用@classmethod装饰器进行修饰,在tearDown()方法之后执行,整个测试过程只执行一次。
五、常用的断言有哪些?
问题解析:unittest常用的断言方法
1.assertEqual(self, first, second, msg=None)
--判断两个参数相等:first == second
2.assertNotEqual(self, first, second, msg=None)
--判断两个参数不相等:first != second
3.assertIn(self, member, container, msg=None)
--判断是字符串是否包含:member in container
4.assertNotIn(self, member, container, msg=None)
--判断是字符串是否不包含:member not in container
5.assertTrue(self, expr, msg=None)
--判断是否为真:expr is True
6.assertFalse(self, expr, msg=None)
--判断是否为假:expr is False