金九银十招聘季,UI自动化面试题放送

一  web自动化中常见的元素定位方式?

  • id:根据id来获取元素,返回单个元素,id值一般是唯一的;

  • name:根据元素的name属性定位;

  • tagName:根据元素的标签名定位;

  • className:根据元素的样式class值定位;

  • linkText:根据超链接的文本值定位;

  • partialLinkText:根据超链接的部分文本值定位;

  • cssSelector:css选择器定位;

  • xpath:通过元素的路径来定位。

二 简述你所知道的等待方式?

  • 强制等待:也叫线程等待, 通过线程休眠的方式完成的等待,如等待5秒:  sleep(5),一般情况下不太使用强制等待。

  • 隐式等待:通过implicitly Wait完成的延时等待,注意这种是针对全局设置的等待,如设置超时时间为10秒,使用了implicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环去找元素,如果超过10秒还没有找到,则抛出异常,隐式等待比较智能,它可以通过全局配置,但是只能用于元素定位。

  • 显式等待:也称为智能等待,针对指定元素定位指定等待时间,在指定时间范围内进行元素查找,找到元素则直接返回,如果在超时还没有找到元素,则抛出异常,显示等待是 selenium 当中比较灵活的一种等待方式,他的实现原理其实是通过 while 循环不停的尝试需要进行的操作。

三 UI自动化测试用例如何设计?

UI自动化测试用例是从手工测试用例中提取出来的,跟手工测试用例相比,自动化测试用例更加注重用例的严谨性,选择用例的时候遵循以下原则:

  • 优先选取覆盖产品核心功能的用例;

  • 从成本考量,不要选择流程过于复杂的用例;

  • 选取的用例可以是重复执行,繁琐的部分,比如字段验证、提示信息验证;

  • 优先实现正向的测试用例,反向用例一般情况复杂、数量多。

四 你怎么提高UI自动化脚本的稳定性?

  • 尽量用相对路径的xpath表达式;

  • 查找元素优先用显式等待;

  • 用例与用例之间尽量避免产生依赖,用例可以独立执行;

  • 用例执行结束后对测试场景进行还原,避免影响其他用例的执行;

  • 脚本执行失败后加入重试机制,提升用例的稳定性;

  • 尽量保证单独的测试环境,避免其他的测试同步进行。

五 UI 自动化测试中,如何做集群?

  • Selenium Grid,分布式执行用例;

  • Appium 使用 STF 管理多设备;

  • Docker+K8S 管理集群。

六 如何保证页面元素一定是可以点击的?

  1. 首先通过封装find方法,实现wait_for_element_ispresent,这样在对元素进行操作之前保证元素被找到,进而提高成功率。(WebDriverWait)

  2. 在对页面进行click之前,先滚动到该元素(通过Js封装),避免在页面未加在完成前或是在下拉之后才能显示。

七 你的自动化用例的执行策略是什么?

  • 每日执行:比如每天晚上在主干执行一次

  • 周期执行:每隔2小时在开发分支执行一次

  • 动态执行:每次代码有提交就执行

八 元素定位失败的原因可能有哪些?

  • 元素定位方式编写错误;

  • 点击速度过快,页面没有加载出来就点击页面上的元素;

  • frame/iframe表单嵌套;

  • 页面跳转到新的标签页,未切换handle窗口;

  • 使用了动态属性进行定位元素;

  • 页面上的警告弹框;

  • 页面元素失去焦点导致脚本运行不稳定;

  • 元素被遮挡,不可用,不可见。

九 selenium调用js(execute_script),有哪些场景?

  • 移除元素隐藏、禁用、只读等限制属性;

  • 为元素添加id或高亮样式;

  • 页面滚动;

  • 富文本框输入(HTML注入);

  • 获取页面信息。

 

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: UI自动化测试是指通过编写脚本和使用自动化测试工具,模拟用户在Web界面上的操作,自动执行测试用例,验证界面的功能和交互是否符合预期。在Web端的自动化测试中,可以分为接口层和界面层两个方向进行测试。接口层自动化测试的比例通常要高于界面层,主要用于对产品的核心功能进行冒烟测试和回归测试。而界面层的自动化测试主要针对产品稳定的功能进行测试,从系统最核心的功能开始,逐渐扩展测试范围。在设计UI自动化测试时,可以使用Python+Selenium+Pytest框架来编写测试用例,采用PO(Page Object)模式实现数据和代码分层,使用Allure测试报告来展示测试结果,并通过邮件和钉钉等方式通知项目组相关人员。这样可以提高测试效率和准确性,同时减少人工操作的工作量。 #### 引用[.reference_title] - *1* [UI自动化常见精华面试题整理](https://blog.csdn.net/m0_56736369/article/details/118818662)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [UI自动化测试面试题总结](https://blog.csdn.net/YZL40514131/article/details/128700578)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值