基础面试问题

地基必须要打牢!!!
记录一下基础问题,面试中会问到的

对于自动化:

一、自动化框架分包含什么?(代码设计分层经常问到)
答:两层:对象逻辑层、业务数据层
三层:对象库层、逻辑层、业务层
四层:对象库层、逻辑层、业务层、数据层
附下图:

二、自动化途中web出现弹窗如何处理
答: 或许是 switch_to.alert :https://blog.csdn.net/gufenchen/article/details/98486877

    Web自动化测试弹窗处理:https://m.sohu.com/a/240493240_470023
    UI自动化测试-弹窗处理:https://my.oschina.net/u/873595/blog/792220
    附带:Appium 简单粗暴的方法解决 appium 自动化测试时安装安卓 app 时需要手动确认安装的问题:https://testerhome.com/topics/16781

三、monkey如何回归复现问题?

答:当开发修改问题后,需要做回归测试验证是否修改ok,此时测试人员需要使用上一次跑的monkey测试中的seed值做回归测试。
** System appears to have crashed at event 468 of 1000 using seed 1557722456728
该seed值,在上次跑完脚本的时候,可以在最后一行显示打印出来,记得日志显示使用详细,即-v -v -v才能看到seed值
adb shell monkey -p +包名 -s +seed值 -v 10000
比如 :adb shell monkey -p com.shanjian.originaldesign -s 1536629919450 -v 10000

相关链接地址:https://my.oschina.net/u/4272712/blog/3540577
monkey分析:https://www.gaoyaxuan.net/blog/128.html
monky日志命令详解:https://zhuanlan.zhihu.com/p/272536975

四、自动化中遇到 iframe 如何处理?(知道并没有用,关键你要能说要敲出来。。。我是说不出来。现在知道咋说了)
答:
1、driver.switch_to_frame() 进入对应的frame
2、driver.switch_to.parent_frame() 切回父 frame
3、driver.switch_to.default_content() 切回 默认 frame ,主frame

链接:https://blog.csdn.net/duzilonglove/article/details/78104760

五、python中的排序、排重、字符串提取

1)排序规则:数字>英文>中文
    a = [9,2,3,4,5]
    b = [3,4,5,6,7]
    c = ['as','sd','bw']
    d = ['张三','李四','王五','ddd','123']
    random = [(2, 2, 5), (3, 4, 3), (4, 1, 1), (1, 3, 2)]

    def takeSecond(elem):
        return elem[2]
    random.sort(key=takeSecond,reverse=True)  

    a.sort(reverse = True)
    b.sort(reverse = False)
    c.sort()
    d.sort()

    print("倒序:" + str(a))
    print("正序:" + str(b))
    print("正序:" + str(c))
    print("正序:" + str(d))
    print("指定元素排序:" + str(random))

 输出:
    倒序:[9, 5, 4, 3, 2]
    正序:[3, 4, 5, 6, 7]
    正序:['as', 'bw', 'sd']
    正序:['123', 'ddd', '张三', '李四', '王五']
    指定元素排序:[(2, 2, 5), (3, 4, 3), (1, 3, 2), (4, 1, 1)]
 链接:https://www.runoob.com/python/att-list-sort.html


2)去重:(单list可用set去重,多list用并集解决)
      a = set([9,2,2,3,4,5,8])
      b = set([3,4,5,6,4,7])
      c = set(['a','a','asd','vb','s'])
      random = [(2, 2, 5), (3, 4, 3), (4, 1, 1), (1, 3, 2)]

      print('交集 & : ' + str(a&b))
      print('并集 | : ' + str(a|b))
      print('补集 ^ : ' + str(a^b))
      print('差集 - : ' + str(a-b))
      print('set输出 : ' + str(a),str(b),str(c))

    输出:
      交集 &  : {3, 4, 5}
      并集 |   : {2, 3, 4, 5, 6, 7, 8, 9}
      补集 ^   : {2, 6, 7, 8, 9}
      差集 -   : {8, 9, 2}
      set输出  : {2, 3, 4, 5, 8, 9} {3, 4, 5, 6, 7} {'s', 'asd', 'a', 'vb'}
   链接:https://www.runoob.com/python/python-func-set.html
   链接--全:https://blog.csdn.net/sdu_hao/article/details/83037940

对于性能:

1、性能测试的服务器如何查看分析日志?
答:后台性能测试 https://cloud.tencent.com/developer/article/1038026

附:查看数据库日志:https://zhuanlan.zhihu.com/p/126599837
服务器性能测试 及吞吐量指标 日志 https://blog.csdn.net/qq_33620483/article/details/77963747

对于服务器知识:

1、服务器如何搭建?(一直感觉是服务端搭建的)答案未确定

答:互联网公司比较典型的部署框架LNMT(Linux+Nginx+Mysql+Tomcat)
https://blog.csdn.net/xiaobai178/article/details/112366142

posted @ 2021-04-06 15:09  天空空liu  阅读(151)  评论(0)    收藏  举报