python自动化笔试面试题

一、问答题

1、自动化代码中,用到了哪些设计模式?

答:自动化代码用到过的设计模式:

①单例设计模式

②工厂模式

③PO设计模式

④数据驱动模式

⑤面向接口编程设计模式

2、什么是Selenium

答:Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试

3、TestNG中注解有哪些?

答:@Test,@BeforeSuite,@AfterSuite,@BeforeTest,@AfterTest,@BeforeClass,@AfterClass,@BeforeMethod,@AfterMethod,@DataProvider

4、什么是断言?

答:断言Assert用于在代码中验证实际结果是不是符合预期结果,如果测试用例执行失败会抛出异常并提供断言日志

5、TestNG有哪些有点?

答:TestNG的注释非常强大和方便,TestNG允许并行测试,并可以基于group的方式执行测试,还可以生成测试报表,并且报告展示多样化,可在其基础上自行开发测试报告插件以及测试监听器

6、什么是web自动化测试?

答:web自动化测试指的是从UI(用户界面)层面进行的自动化测试,测试人员通过编程自动化程度(测试用例脚本)来打开浏览器测试网站的业务逻辑

7、写出Selenium中你最熟悉的接口或类?

答:webDriver、lnternetExplorerDriver、FirefoxDriver、ChromeDriver、WebElement、WebDriverWait、By

8、元素定位类型有哪些?

答:By类一共有8中元素定位方式,他们都是静态方法:

By.id(),By.name(),By.tagName(),By.className(),By.cssSelector(),By.linkText(),By.partialLinText(),By.xpath()

9、登录按钮除了用click方法进行点击以外还有其他方式么?

答:还可以使用submit()方法,前提是input元素的type为submit

10、怎么对含有验证码的功能进行自动化测试的?

  • 1)图像识别,技术难度大,效果不佳,不推荐

  • 2)屏蔽验证,邀请开发处理,但在预生产环境或者生产环境不推荐

  • 3)万能验证码,使用一个负责的其他人无法猜到的验证码

11、怎么验证复选按钮是不是被选中?

答:可以使用元素的isSelected()方法,如果返回的是true则说明被选中,否则表明未被选中

12、如何处理alert弹窗?

答:处理alert弹窗首先需要先跳转到alert上,然后在点击确定或者取消按钮,

Alert alet=driver.switchTo().alert();//切换到alert

alert…accept();//确定

alert.dismiss();//取消

13、如何用webdriver进行鼠标右键点击操作?

答:使用Actions类

Actions actions=new Actions(driver);

actions.moveToElement(element).perform();

actions.contextClick().perform();

14、举一个webDriver中方法重载的例子?

答:frame(string nama),frame(int index),

frame(WebElement element)

15、下拉菜单中如何去选择一个菜单项?

答:如果下拉菜单是select标签,使用方法:

selectByValue()或者是selectBylndex()或者selectByVisibleText()即可

如果这个下拉菜单不是通过select标签创建,则直接通过xpath定位元素然后去点击选择