精华内容
下载资源
问答
  • 但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。当然如果开发人员开发不规范,我们...
  • WEB自动化测试面试题及答案大全

    千次阅读 2020-07-11 14:20:32
    1.Selenium是否支持桌面应用软件的自动化测试。 Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据...

    1.Selenium是否支持桌面应用软件的自动化测试。
    Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的。

    2.Selenium是否支持用例的执行的引擎。
    引擎好比就是一个发动机。Selenium是没有关于测试用例和测试套件管理和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执行。例如Java中有Junit或者testNG,Python中有unittest单元测试框架。

    3.Seleinum是否有读取excel文件的库
    没有,这里需要用到第三方工具。例如Apache POI插件。

    4.Selenium有哪些组件?
    最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有
    remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。

    5.Selenium有什么限制或者缺陷
    除了基于web的软件和mobile的程序,selenium不支持桌面软件自动化测试。软件测试报告,和用例管理只能依赖第三方插件,例如Junit/TestNG和unittest。由于它是免费的软件,所以没有供应商去提供支持和服务,有问题,只能求助selenium社区。还有一个就是,selenium入门门槛可能有点高,需要具备一定编程语言基础的才能玩转。

    加入我们。群,642830685,领取最新软件测试资料大厂面试和Python自动化、接口、框架搭建学习资料!同行一起交流,一起学习进步!

    6.在selenium中,有哪些不同定位元素方法
    ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector

    7.什么是imlicitlyWait(隐式等待)
    webdriver 会在指定的超时时间范围内不断的查找元素,直到找到元素或超时

    8.什么是expliciteWait(显式等待)
    通常是我们自定义的一段代码,这段代码用来等待某种条件发生后,再继续执行后续的代码

    9.什么是线程等待(硬式等待)
    如Thread.sleep(2000),webdriver线程强制休眠2秒钟,2秒过后,再执行后续的代码。
    10.什么是pollingEvery
    这个是设置个一段时间就去做一件事,例如下面设置隔一秒就去查找元素一次。
    WebDriverWait wait = new WebDriverWait(driver,30);
    wait.pollingEvery(1, TimeUnit.SECONDS);
    driver.findElement(By.xpath(“xxxx”));

    11.你写的测试脚本能在不同浏览器上运行吗,支持跨浏览器平台吗
    是的,我写的测试用例能在IE,火狐和谷歌这三种浏览器上运行。主要是在windows平台上运行脚本,所以mac的safari浏览器暂时没有写过。主要实现这个跨浏览器的思想就是,把浏览器类型写到配置文件,代码里写if语句去判断配置文件的浏览器的类型,来决定用什么浏览器去执行测试用例。

    12.什么是POM,为什么要使用它
    POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,所以自然而然就用了类的思想来组织我们的页面。一般一个页面写一个类文件,这个类文件包含该页面的元素定位和业务操作方法
    为了我们测试用例写的简单,清晰,我们很多时候在页面对象会封装很多业务操作方法,测试脚本只需要调用相关方法就可以。
    还有一个可能和这个问题相关的面试题,如果页面元素经常发生需求变化,你是如何做,答案就是采用POM思想。好处就是只要该一个页面,我就去修改这个页面对象的元素定位和相关方法,脚本不需要修改。

    13.在你做自动化过程中,遇到了什么问题吗?举例下
    这个问题,不管是自动化还是任何工作,都会被问到。主要想知道你是如何解决问题的,从而推断你问题分析和解决的能力。
    当然有遇到问题和挑战,主要有以下几点:
    频繁地变更UI,经常要修改页面对象里面代码
    运行用例报错和处理,例如元素不可见,元素找不到这样异常
    测试脚本复用,尽可能多代码复用
    一些新框架产生的页面元素定位问题,例如ck编辑器,动态表格等

    14.举例一下你遇到过那些异常,在selenium自动化测试过程中
    通过这个问题,大概知道你写过多少脚本。写脚本过程最常见的异常就是,这个元素无法找到。
    常见的selenium有以下这些:
    1、ElementNotSelectableException :元素不能选择异常
    2、ElementNotVisibleException :元素不可见异常
    3、NoSuchAttributeException :没有这样属性异常
    4、NoSuchElementException:没有该元素异常
    5、NoSuchFrameException :没有该frame异常
    6、TimeoutException : 超时异常
    7、Element not visible at this point :在当前点元素不可见

    15 如何处理alert弹窗
    我们常见的alert弹窗有两种:基于windows弹窗和基于web页面弹窗
    我们知道,webdriver是能够处理alert弹窗的,Selenium提供了Alert这个接口。相关操作代码如下:
    // 切换到Alert
    Alert alert = driver.switchTo().alert();
    // 点击弹窗上确定按钮
    alert.accept();
    // 点击弹窗的取消按钮
    alert.dismiss()
    // 获取弹窗上线上的文本文字内容
    alert.getText();
    // 有些弹窗还支持文本输入,这个可以把要输入字符通过sendkeys方法输入
    alert.sendkeys();

    16 在selenium中如何处理多窗口?
    这个多窗口之间跳转处理,在实际selenium自动化测试经常遇到。就是,你点击一个链接,这个链接会在一个新的tab打开,然后你接下来要查找元素在新tab打开的页面,所以这里需要用到swithTo方法。
    需要获取当前浏览器多窗口句柄,然后根据判断跳转新句柄还是旧句柄

    17 你查找元素遇到过在Frame里面吗?你是如何处理Frame里面元素定位的?
    有时候我们知道元素定位表达式没有问题,但是还是提示no such element,那么我们就需要考虑这个元素是否在frame中。如果在,我们就需要从topwindow,通过swithcTo.Frame()方法来切换到目标frame中,可以通过frame的name和id和索引三种方法来定位frame。

    18 怎么验证勾选框是enable/disabled/ checked/Unchecked/ displayed/ not displayed?
    通过以下方法来验证元素是enable 还是disable
    boolean enabled = driver.findElement(By.xpath(“元素定位表达式”)).isEnabled();

    通过以下方法来验证元素是select/check
    boolean checked = driver.findElement(By.xpath(“元素定位表达式”)).isSelected();

    通过以下方法来验证元素是dispalyed还是not display
    boolean displayed = driver.findElement(By.xpath(“元素定位表达式”)).isDisplayed();

    19 如何处理下拉菜单?
    通常我们也可以通过Click方法来点击下拉菜单里面的元素,还有一种方法,在Selenium中有一个类叫Select,支持这种下拉菜单交互的操作。
    基本使用语法是这样的:
    Select Se=new Select(element);
    Se.selectByIndex(index);
    Se.selectByvalue(value);
    Se.selectByVisibleText(text);

    20 在日历这种web 表单你是如何处理的?
    首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助javascript。还有些日历控件一个文本输入框,可以直接sendKeys()方法来实现传入一个时间的数据。

    21关闭浏览器中quit和close的区别
    简单来说,两个都可以实现退出浏览器session功能,close是关闭你当前聚焦的tab页面,而quit是关闭全部浏览器tab页面,并退出浏览器session。知道这两个区别,我们就知道quit一般用在结束测试之前的操作,close用在执行用例过程中关闭某一个页面的操作。

    22 什么是页面加载超时
    Selenium中有一个 Page Load wait的方法,有时候,我们执行脚本的速度太快,但是网页程序还有一部分页面没有完全加载出来,就会遇到元素不可见或者元素找不到的异常。为了解决问题,让脚本流畅的运行,我们可以通过设置页面加载超时时间。具体代码是这个:driver.manage().timeouts().pageLoadTimeout(10,TimeUnit.SECONDS);

    这行作用就是,如果页面加载超过10秒还没有完成,就抛出页面加载超时的异常。

    23.什么是JavaScript Executor,你什么时候会用到这个?
    JavaScript Executor是一个接口,给driver对象提供一个执行javaScript并访问和修改前端元素属性和值。
    还是有比较多的场景,我们可能或者需要借助javaScript来实现:
    1.元素通过现有定位表达式不能够实现点击
    2.前端页面试用了ck-editor这个插件
    3.处理时间日期插件(可能)
    4.生成一个alert弹窗
    5.拖拽滚动条
    基本语法:
    JavascriptExecutor js =(JavascriptExecutor) driver;
    js.executeScript(Script,Arguments);

    24.在Selenium中如何实现截图,如何实现用例执行失败才截图
    在Selenium中提供了一个TakeScreenShot这么一个接口,这个接口提供了一个getScreenshotAs()方法可以实现全屏截图。然后我们通过java中的FileUtils来实现把这个截图拷贝到保存截图的路径。

    代码举例:
    File src=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    try {
    // 拷贝到我们实际保存图片的路径

    FileUtils.copyFile(src,new File(“C:/selenium/error.png”));
    }
    catch (IOException e)
    {
    System.out.println(e.getMessage());
    }
    如果要实现执行用例发现失败就自动截图,那么我们需要把这个截图方法进行封装。然后在测试代码中的catch代码块去调用这个截图方法。这个我们在POM的框架中一般是把截图方法封装到BasePage这个文件中。

    25.在Selenium中如何实现拖拽滚动条?
    在Selenium中通过元素定位会自动帮你拖拽到对应位置,所以是没有自带的scoll方法。但是这个是有限制,例如当前页面高度太长,默认是页上半部分,你定位的元素在页尾,这个时候可能就会报元素不可见的异常。我们就需要利用javaScript来实现拖拽页面滚动条。

    我们一般可以两个方法去拖拽,一个是根据拖拽的坐标(像素单位),另外一个是根据拖拽到一个参考元素附件。

    代码举例(根据元素坐标拖拽):
    JavascriptExecutor jse= (JavascriptExecutor)driver;
    jse.executeScript(“window.scrollBy(0,250)”, “”);

    26.如何实现文件上传?
    我们在web页面实现文件上传过程中,可以直接把文件在磁盘完整路径,通过sendKeys方法实现上传。如果这种方法不能实现上传,我们就可能需要借助第三方工具,我用过一个第三方工具叫autoIT.
    还有一个方法是利用robot类

    27.如何处理“不受信任的证书”的问题?
    例如,在登录12306网站的时候,如果你没有下载和安装过这个网站的根证书,那么你就会遇到打开12306网站提示证书不受信任的拦截页面。

    下面举例火狐和谷歌上处理这个问题的基本代码

    火狐:
    // 创建firefoxprofile
    FirefoxProfile profile=new FirefoxProfile();
    // 点击继续浏览不安全的网站
    profile.setAcceptUntrustedCertificates(true);
    // 使用带条件的profile去创建一个driver对象
    WebDriver driver=new FirefoxDriver(profile);

    Chrome:
    // 创建类DesiredCapabilities的对象
    DesiredCapabilities cap=DesiredCapabilities.chrome();
    // 设置ACCEPT_SSL_CERTS 变量值为true
    cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    // 新建一个带capability的chromedriver对象
    WebDriver driver=new ChromeDriver(cap);

    28.什么是Firefox Profile?
    Profile是一组文件,主要用来记录用户在火狐浏览器上的私人信息,例如书签,密码,用户首选项,下载文件夹保存路径等。简单来说,你打开火狐浏览器输入about://config,这个页面有些设置选项是可以通过profile来实现修改的。

    29.如何实现鼠标悬停,键盘事件和拖拽动作?
    在Webdriver中,处理键盘事件和鼠标事件,一般使用Actions类提供的方法,包括鼠标悬停,拖拽和组合键输入。

    这里介绍几个方法

    方法:clickAndHold()
    使用场景:找到一个元素,点击鼠标左键,不放手。自己可以点击鼠标不松开试试这个场景。

    方法:contentClick()
    使用场景:模拟鼠标右键点击,一般右键会带出菜单来。

    方法:doubelClick()
    使用场景:模拟鼠标双击

    方法:dragAndDrop(source,target)
    使用场景:模拟从source这个位置,拖拽一个元素到target位置

    键盘事件方法:keyDown(keys.ALT), keyUp(keys.SHIFT)
    使用场景:点击键盘事件,分为两个动作,一个点击键盘,第二个动作是释放点击(松开)

    30.在执行脚本过程,如何实现当前元素高亮显示?
    这个其实就是利用javaScript去修改当前元素的背景颜色来到达高亮显示的效果,

    31.如何获取页面标题,悬浮文本和错误文本,并验证?
    标题,我们可以通过driver.getTitle()方法来得到一个字符串,然后使用字符串的containts方法或者equals方法去进行断言。

    悬浮文本(tooltip),一般是利用Actions类,然后鼠标悬停方法,然后通过getText()方法来得到这个tooltip字符串。

    错误信息,直接把这个错误字段先进行定位,然后通过getText()方法拿到错误文本,主要的断言有包含,相等,不相等,不包含,以什么开头等。

    32.在selenium自动化测试中,你一般完成什么类型的测试?
    主要是冒烟测试和回归测试。回归测试主要写一些功能稳定,容易实现的场景,通过自动化手段去实现,节约测试时间。

    33.你是如何管理你的测试用例并执行?
    写用例和管理并执行用例,我们都需要借助单元测试框架来实现,如果是Java语言一般有junit和TestNG,如果是python,常见的有unittest。
    就你实际情况,说一下。例如我使用TestNG比较多,需要配置testng.xml文件来实现测试用例的执行。有时候需要配置多个testng.xml去实现不同的任务场景。再展开,可能问你一下testng框架的知识点。例如,方法依赖,用例执行优先级,数据源驱动等。

    34关于自动化测试报告生成?
    我个人一般用TestNG原生的测试报告,也有第三方叫reportNG的插件,不过我没有实际使用过。

    加入我们。群,642830685,领取最新软件测试资料大厂面试和Python自动化、接口、框架搭建学习资料!同行一起交流,一起学习进步!

    展开全文
  • 1.Selenium是否支持桌面应用软件的自动化测试。 Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据...

    1.Selenium是否支持桌面应用软件的自动化测试。
    Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的。

     

    2.Selenium是否支持用例的执行的引擎。
    引擎好比就是一个发动机。Selenium是没有关于测试用例和测试套件管理和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执行。例如Java中有Junit或者testNG,Python中有unittest单元测试框架。

     

    3.Seleinum是否有读取excel文件的库
    没有,这里需要用到第三方工具。例如Apache POI插件。

     

    4.Selenium有哪些组件?
    最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有
    remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。

     

    5.Selenium有什么限制或者缺陷
    除了基于web的软件和mobile的程序,selenium不支持桌面软件自动化测试。软件测试报告,和用例管理只能依赖第三方插件,例如Junit/TestNG和unittest。由于它是免费的软件,所以没有供应商去提供支持和服务,有问题,只能求助selenium社区。还有一个就是,selenium入门门槛可能有点高,需要具备一定编程语言基础的才能玩转。

     

    6.在selenium中,有哪些不同定位元素方法
    ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector

     

    7.什么是imlicitlyWait(隐式等待)
    webdriver 会在指定的超时时间范围内不断的查找元素,直到找到元素或超时

     

    8.什么是expliciteWait(显式等待)
    通常是我们自定义的一段代码,这段代码用来等待某种条件发生后,再继续执行后续的代码

     

    9.什么是线程等待(硬式等待)
    如Thread.sleep(2000),webdriver线程强制休眠2秒钟,2秒过后,再执行后续的代码。


    10.什么是pollingEvery
    这个是设置个一段时间就去做一件事,例如下面设置隔一秒就去查找元素一次。
    WebDriverWait wait = new WebDriverWait(driver,30);
    wait.pollingEvery(1, TimeUnit.SECONDS);
    driver.findElement(By.xpath(“xxxx”));

     

    11.你写的测试脚本能在不同浏览器上运行吗,支持跨浏览器平台吗
    是的,我写的测试用例能在IE,火狐和谷歌这三种浏览器上运行。主要是在windows平台上运行脚本,所以mac的safari浏览器暂时没有写过。主要实现这个跨浏览器的思想就是,把浏览器类型写到配置文件,代码里写if语句去判断配置文件的浏览器的类型,来决定用什么浏览器去执行测试用例。

     

    12.什么是POM,为什么要使用它
    POM是Page Object Model的简称,它是一种设计思想,而不是框架。大概的意思是,把一个一个页面,当做一个对象,页面的元素和元素之间操作方法就是页面对象的属性和行为,所以自然而然就用了类的思想来组织我们的页面。一般一个页面写一个类文件,这个类文件包含该页面的元素定位和业务操作方法
    为了我们测试用例写的简单,清晰,我们很多时候在页面对象会封装很多业务操作方法,测试脚本只需要调用相关方法就可以。
    还有一个可能和这个问题相关的面试题,如果页面元素经常发生需求变化,你是如何做,答案就是采用POM思想。好处就是只要该一个页面,我就去修改这个页面对象的元素定位和相关方法,脚本不需要修改。

     

    13.在你做自动化过程中,遇到了什么问题吗?举例下
    这个问题,不管是自动化还是任何工作,都会被问到。主要想知道你是如何解决问题的,从而推断你问题分析和解决的能力。
    当然有遇到问题和挑战,主要有以下几点:
    频繁地变更UI,经常要修改页面对象里面代码
    运行用例报错和处理,例如元素不可见,元素找不到这样异常
    测试脚本复用,尽可能多代码复用
    一些新框架产生的页面元素定位问题,例如ck编辑器,动态表格等

     

    14.举例一下你遇到过那些异常,在selenium自动化测试过程中
    通过这个问题,大概知道你写过多少脚本。写脚本过程最常见的异常就是,这个元素无法找到。
    常见的selenium有以下这些:
    1、ElementNotSelectableException :元素不能选择异常
    2、ElementNotVisibleException :元素不可见异常
    3、NoSuchAttributeException :没有这样属性异常
    4、NoSuchElementException:没有该元素异常
    5、NoSuchFrameException :没有该frame异常
    6、TimeoutException : 超时异常
    7、Element not visible at this point :在当前点元素不可见

     

    15 如何处理alert弹窗
    我们常见的alert弹窗有两种:基于windows弹窗和基于web页面弹窗
    我们知道,webdriver是能够处理alert弹窗的,Selenium提供了Alert这个接口。相关操作代码如下:
    // 切换到Alert
    Alert alert = driver.switchTo().alert();
    // 点击弹窗上确定按钮
    alert.accept();
    // 点击弹窗的取消按钮
    alert.dismiss()
    // 获取弹窗上线上的文本文字内容
    alert.getText();
    // 有些弹窗还支持文本输入,这个可以把要输入字符通过sendkeys方法输入
    alert.sendkeys();

     

    16 在selenium中如何处理多窗口?
    这个多窗口之间跳转处理,在实际selenium自动化测试经常遇到。就是,你点击一个链接,这个链接会在一个新的tab打开,然后你接下来要查找元素在新tab打开的页面,所以这里需要用到swithTo方法。
    需要获取当前浏览器多窗口句柄,然后根据判断跳转新句柄还是旧句柄

     

    17 你查找元素遇到过在Frame里面吗?你是如何处理Frame里面元素定位的?
    有时候我们知道元素定位表达式没有问题,但是还是提示no such element,那么我们就需要考虑这个元素是否在frame中。如果在,我们就需要从topwindow,通过swithcTo.Frame()方法来切换到目标frame中,可以通过frame的name和id和索引三种方法来定位frame。

     

    18 怎么验证勾选框是enable/disabled/ checked/Unchecked/ displayed/ not displayed?
    通过以下方法来验证元素是enable 还是disable
    boolean enabled = driver.findElement(By.xpath(“元素定位表达式”)).isEnabled();

    通过以下方法来验证元素是select/check
    boolean checked = driver.findElement(By.xpath(“元素定位表达式”)).isSelected();

    通过以下方法来验证元素是dispalyed还是not display
    boolean displayed = driver.findElement(By.xpath(“元素定位表达式”)).isDisplayed();

     

    19 如何处理下拉菜单?
    通常我们也可以通过Click方法来点击下拉菜单里面的元素,还有一种方法,在Selenium中有一个类叫Select,支持这种下拉菜单交互的操作。
    基本使用语法是这样的:
    Select Se=new Select(element);
    Se.selectByIndex(index);
    Se.selectByvalue(value);
    Se.selectByVisibleText(text);

     

    20 在日历这种web 表单你是如何处理的?
    首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助javascript。还有些日历控件一个文本输入框,可以直接sendKeys()方法来实现传入一个时间的数据。

     

    21关闭浏览器中quit和close的区别
    简单来说,两个都可以实现退出浏览器session功能,close是关闭你当前聚焦的tab页面,而quit是关闭全部浏览器tab页面,并退出浏览器session。知道这两个区别,我们就知道quit一般用在结束测试之前的操作,close用在执行用例过程中关闭某一个页面的操作。

     

    22 什么是页面加载超时
    Selenium中有一个 Page Load wait的方法,有时候,我们执行脚本的速度太快,但是网页程序还有一部分页面没有完全加载出来,就会遇到元素不可见或者元素找不到的异常。为了解决问题,让脚本流畅的运行,我们可以通过设置页面加载超时时间。具体代码是这个:driver.manage().timeouts().pageLoadTimeout(10,TimeUnit.SECONDS);

    这行作用就是,如果页面加载超过10秒还没有完成,就抛出页面加载超时的异常。

     

    23.什么是JavaScript Executor,你什么时候会用到这个?
    JavaScript Executor是一个接口,给driver对象提供一个执行javaScript并访问和修改前端元素属性和值。
    还是有比较多的场景,我们可能或者需要借助javaScript来实现:
    1.元素通过现有定位表达式不能够实现点击
    2.前端页面试用了ck-editor这个插件
    3.处理时间日期插件(可能)
    4.生成一个alert弹窗
    5.拖拽滚动条
    基本语法:
    JavascriptExecutor js =(JavascriptExecutor) driver;
    js.executeScript(Script,Arguments);

     

    24.在Selenium中如何实现截图,如何实现用例执行失败才截图
    在Selenium中提供了一个TakeScreenShot这么一个接口,这个接口提供了一个getScreenshotAs()方法可以实现全屏截图。然后我们通过java中的FileUtils来实现把这个截图拷贝到保存截图的路径。

    代码举例:
    File src=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
    try {
    // 拷贝到我们实际保存图片的路径

    FileUtils.copyFile(src,new File(“C:/selenium/error.png”));
    }
    catch (IOException e)
    {
    System.out.println(e.getMessage());
    }
    如果要实现执行用例发现失败就自动截图,那么我们需要把这个截图方法进行封装。然后在测试代码中的catch代码块去调用这个截图方法。这个我们在POM的框架中一般是把截图方法封装到BasePage这个文件中。

     

    25.在Selenium中如何实现拖拽滚动条?
    在Selenium中通过元素定位会自动帮你拖拽到对应位置,所以是没有自带的scoll方法。但是这个是有限制,例如当前页面高度太长,默认是页上半部分,你定位的元素在页尾,这个时候可能就会报元素不可见的异常。我们就需要利用javaScript来实现拖拽页面滚动条。

    我们一般可以两个方法去拖拽,一个是根据拖拽的坐标(像素单位),另外一个是根据拖拽到一个参考元素附件。

    代码举例(根据元素坐标拖拽):
    JavascriptExecutor jse= (JavascriptExecutor)driver;
    jse.executeScript(“window.scrollBy(0,250)”, “”);

     

    26.如何实现文件上传?
    我们在web页面实现文件上传过程中,可以直接把文件在磁盘完整路径,通过sendKeys方法实现上传。如果这种方法不能实现上传,我们就可能需要借助第三方工具,我用过一个第三方工具叫autoIT.
    还有一个方法是利用robot类

     

    27.如何处理“不受信任的证书”的问题?
    例如,在登录12306网站的时候,如果你没有下载和安装过这个网站的根证书,那么你就会遇到打开12306网站提示证书不受信任的拦截页面。

    下面举例火狐和谷歌上处理这个问题的基本代码

    火狐:
    // 创建firefoxprofile
    FirefoxProfile profile=new FirefoxProfile();
    // 点击继续浏览不安全的网站
    profile.setAcceptUntrustedCertificates(true);
    // 使用带条件的profile去创建一个driver对象
    WebDriver driver=new FirefoxDriver(profile);

    Chrome:
    // 创建类DesiredCapabilities的对象
    DesiredCapabilities cap=DesiredCapabilities.chrome();
    // 设置ACCEPT_SSL_CERTS 变量值为true
    cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    // 新建一个带capability的chromedriver对象
    WebDriver driver=new ChromeDriver(cap);

     

    28.什么是Firefox Profile?
    Profile是一组文件,主要用来记录用户在火狐浏览器上的私人信息,例如书签,密码,用户首选项,下载文件夹保存路径等。简单来说,你打开火狐浏览器输入about://config,这个页面有些设置选项是可以通过profile来实现修改的。

     

    29.如何实现鼠标悬停,键盘事件和拖拽动作?
    在Webdriver中,处理键盘事件和鼠标事件,一般使用Actions类提供的方法,包括鼠标悬停,拖拽和组合键输入。

    这里介绍几个方法

    方法:clickAndHold()
    使用场景:找到一个元素,点击鼠标左键,不放手。自己可以点击鼠标不松开试试这个场景。

    方法:contentClick()
    使用场景:模拟鼠标右键点击,一般右键会带出菜单来。

    方法:doubelClick()
    使用场景:模拟鼠标双击

    方法:dragAndDrop(source,target)
    使用场景:模拟从source这个位置,拖拽一个元素到target位置

    键盘事件方法:keyDown(keys.ALT), keyUp(keys.SHIFT)
    使用场景:点击键盘事件,分为两个动作,一个点击键盘,第二个动作是释放点击(松开)

     

    30.在执行脚本过程,如何实现当前元素高亮显示?
    这个其实就是利用javaScript去修改当前元素的背景颜色来到达高亮显示的效果,

     

    31.如何获取页面标题,悬浮文本和错误文本,并验证?
    标题,我们可以通过driver.getTitle()方法来得到一个字符串,然后使用字符串的containts方法或者equals方法去进行断言。

    悬浮文本(tooltip),一般是利用Actions类,然后鼠标悬停方法,然后通过getText()方法来得到这个tooltip字符串。

    错误信息,直接把这个错误字段先进行定位,然后通过getText()方法拿到错误文本,主要的断言有包含,相等,不相等,不包含,以什么开头等。

     

    32.在selenium自动化测试中,你一般完成什么类型的测试?
    主要是冒烟测试和回归测试。回归测试主要写一些功能稳定,容易实现的场景,通过自动化手段去实现,节约测试时间。

     

    33.你是如何管理你的测试用例并执行?
    写用例和管理并执行用例,我们都需要借助单元测试框架来实现,如果是Java语言一般有junit和TestNG,如果是python,常见的有unittest。
    就你实际情况,说一下。例如我使用TestNG比较多,需要配置testng.xml文件来实现测试用例的执行。有时候需要配置多个testng.xml去实现不同的任务场景。再展开,可能问你一下testng框架的知识点。例如,方法依赖,用例执行优先级,数据源驱动等。

     

    34关于自动化测试报告生成?
    我个人一般用TestNG原生的测试报告,也有第三方叫reportNG的插件,不过我没有实际使用过。

    最后

    俺叫小枫,一个成天想着一夜暴富的测试员

    (1140267353)一起成长一起加油的伙伴群!软件测试,与你同行!
    群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

    点赞关注不迷路!!!【三连ღ】,有问题也可私聊哟~(*╹▽╹*)

    展开全文
  • 一般面试的时候是结合简历上的项目一步一步深入进行问的问题

    App/Web自动化的面试题

    备注:一般面试的时候是结合简历上的项目一步一步深入进行问的问题,只要你实际做过一个项目的,加上自己面试准备下,问题不会太大
    【APP自动化问题:1.3.6.10.11.12.13.14.19】
    【Web自动化问题:20.21.22.24.25.26.29.31.32.33.34.】
    【共有问题:2.4.5.7.8.9.15.16.17.18.】

    1、目前主流的APP自动化测试框架,各个自动化适合的语言
    参考点:appium macaca、robotium、UiAutomator
    2、你对单元测试框架了解多少
    参考点:unittest、testng、nose
    3、app自动化,简述一下这几种自动化框架的异同
    在这里插入图片描述
    4、定位方式有哪几种?一般如何选择
    参考点:ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector
    5、UI自动化能发现多少Bug
    参考点:UI自动化的目的不是为了发现多少Bug,主要是为了减轻重复的基础操作和线上监控的作用
    6、monkey属于自动化吗?
    参考点:monkey不属于严格意义上的自动化,monkey是生成用户或系统的伪随机事件,在屏幕上触发随机点击事件
    7、谈谈你们的自动化是怎么搭建的?
    8、你们在自动化过程中遇到了哪些问题
    9、你们一般对什么case会进行自动化,自动化一般在哪个阶段进行
    参考点:主要是主流程中比较容易实现的进行自动化,一般在集成阶段进行该版本的自动化监控,平常的话会一直跑线上监控的
    10、robotium可以跨进程吗?你能简述一下吗?
    11、app自动化你们一般用什么工具定位元素?
    参考点:Uiautomatorview和appium的客户端
    12、您需要一台服务器机器来运行Appium上的测试吗?
    参考点:不,您不需要服务器机器在Appium上运行测试。 Appium促进了一个2层架构,其中测试机连接到运行Appium的测试服务器并自动化整个事情。您可以在运行测试的同一台机器上运行Appium。
    13、使用Appium可能遇到的错误是什么?
    参考点:
    错误1:需要以下所需的功能,但不提供:设备名称,platformName
    错误2:找不到adb。请使用Android SDK根目录路径设置ANDROID_HOME环境变量
    错误3:openqa.selenium.SessionNotCreatedException:无法创建新的会话
    错误4:如何在移动应用程序中查找DOM元素或XPath?
    详情见:https://www.jianshu.com/p/53d8a0f0e35c
    14、简述Appium的原理?
    参考点:Appium是使用Node.js平台编写的“HTTP Server”,并使用Webdriver JSON线协议驱动iOS和Android会话。 因此,在初始化Appium Server之前,必须在系统上预先安装Node.js 当Appium被下载并安装时,在我们的机器上设置一个暴露REST API的服务器
    它从客户端接收连接和命令请求,并在移动设备(Android / iOS)上执行该命令,
    它响应HTTP响应。 再次,为了执行此请求,它使用移动测试自动化框架来驱动应用程序的用户界面。 框架像Apple Instruments for iOS(仅适用于Xcode 3.0或更高版本的OS X v10.5及更高版本)适用于Android API的Google UIAutomator 16级或更高版本
    Selendroid for Android API等级在15以下。
    15、目前你们用的自动化工具版本号是多少?
    16、元素等待的3种方式简述一下,并且你平常用的是哪一种?
    17、断言是什么
    18、测试报告你们用的是什么框架?
    19、app自动化 如何控制在多台设备上执行?
    20、selenium的原理?
    21、selenium 如何控制多个浏览器执行?
    22、robotframework是什么?和selenium的关系是什么
    23、你们目前用的py版本是多少的?2.X和3.X的异同?
    24、selenium中如何保证操作元素的成功率?
    参考点:- 添加元素智能等待时间 driver.implicitly_wait(30)

    • try 方式进行 id,name,clas,x path, css selector 不同方式进行定位,如果第一种失败可以自动尝试第二种
      -Selenium保证元素成功率是通过元素的定位,当然它的定位方法很多,一定能有合适的。但是在自动化工程的实施过程中,高质量的自动化测试不是只有测试人员保证的。需要开发人员规范开发习惯,如给页面元素加上唯一的name,id等,这样就能大大地提高元素定位的准确性。当然如果开发人员开发不规范,我们在定位元素的时候尽量使用相对地址定位,这样能减少元素定位受页面变化的影响。只要我们元素定位准确,就能保证我的每一个操作符合我的预期
      25、如何提高selenium脚本的执行速度?
      参考点:如网速,操作步骤的繁琐程度,页面加载的速度,以及我们在脚本中设置的等待时间,运行脚本的线程数等。所以不能单方面追求运行速度的,要确保稳定性,能稳定地实现回归测试才是关键。
      我们可以从以下几个方面来提高速度:
      一,减少操作步骤,如经过三四步才能打开我们要测试的页面的话,我们就可以直接通过网址来打开,减少不必要的操作。
      二,中断页面加载,如果页面加载的内容过多,我们可以查看一下加载慢的原因,如果加载的内容不影响我们测试,就设置超时时间,中断页面加载。
      三,在设置等待时间的时候,可以sleep固定的时间,也可以检测某个元素出现后中断等待也可以提高速度。
      四,配置testNG实现多线程。在编写测试用例的时候,一定要实现松耦合,然后在服务器允许的情况下,尽量设置多线程运行,提高执行速度。
      26、selenium2.X和3.X的异同?
      27、什么是持续集成?
    • 持续集成源于极限编程(XP),是一种软件实践,软件开发过程中集成步骤是一个漫长并且无法预测的过程。集成过程中可能会爆发大量的问题,因此集成过程需要尽可能小而多,实际上持续集成讲的是不断的去做软件的集成工作。持续集成,最简单的形式是包括一个监控版本控制(SVN等等)变化的工具。当变化被发觉时,这个工具可以自动的编译并测试你的应用
      28、什么是page object设计模式?
      通过分离测试对象和测试脚本的抽象来实现的
      29、selenium中下拉框怎么定位?
      30、你觉得自动化测试最大的缺陷是什么?
      参考点:-不稳定
      -可靠性
      -不易维护
      -成本与收益
      31、Selenium是否支持桌面应用软件的自动化测试。
      Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的。
      32、BDD是什么?你了解多少?TDD是什么?
      参考点:BDD:行为驱动开发(Behavior Driven Development)
      TDD:测试驱动开发(Test-Driven Development)
      33、selenium是否可以直接读取Excel表中测试用例,来执行相关测试
      参考点:可以的,需要借助第三方库
      34、Selenium有哪些组件?
      最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有
      remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。

    最后:

    欢迎关注公众号:程序员一凡,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!

    这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

    展开全文
  • 1.专业技术在学习完...Selenium是一个开源的web自动化测试框架,主要是基于web uI的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium支持多种语言进行开发自动化测试脚本,有Java,python,C#,...

    1.专业技术

    在学习完Selenium的大部分接口或者方法之后,你可能会去面试自动化测试,主要是Selenium的自动化测试。下面这些问题总结,可能会对你有所帮助。

    什么是Selenium?

    Selenium是一个开源的web自动化测试框架,主要是基于web uI的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium支持多种语言进行开发自动化测试脚本,有Java,python,C#,Javascript等等。Selenium支持跨浏览器平台测试。

    Selenium是否支持桌面应用软件的自动化测试。

    Selenium不支持桌面软件的自动化测试,Selenium是根据网页元素的属性才定位元素,而其他桌面软件自动化测试工具是根据桌面元素的位置来定位元素,当然现在也有根据桌面元素的属性来定位的

    Selenium是否支持用例的执行的引擎

    引擎好比就是一个发动机。Selenium是没有关于测试用例和测试套件管理和执行的模块。我们需要借助第三方单元测试框架来实现用例管理和用例的执行。例如Java中有Junit或者testNG,Python中有unittest单元测试框架。

    Seleinum是否有读取excel文件的库

    没有,这里需要用到第三方工具。例如Apache POI插件

    Selenium有哪些组件

    最早的有Selenium IDE,IDE只支持安装在fiefox上一个插件,支持录制自动化脚本。还有remote RC,和Grid 和webdriver。我们一般最重要的就是使用webdriver。

    Selenium有什么限制或者缺陷

    除了基于web的软件和mobile的程序,selenium不支持桌面软件自动化测试。软件测试报告,和用例管理只能依赖第三方插件,例如Junit/TestNG和unittest。由于它是免费的软件,所以没有供应商去提供支持和服务,有问题,只能求助selenium社区。还有一个就是,selenium入门门槛可能有点高,需要具备一定编程语言基础的才能玩转

    在selenium中,有哪些不同定位元素方法

    ID/className/Name/LinkText/PartialLinkText/Xpath/CSS selector

    什么是imlicitlyWait

    imlicitlyWait是隐式等待,一般在查找元素的时候使用。例如,我设置一个查找元素最大时间为10秒,使用了imlicitlyWait后,如果第一次没有找到元素,会在10秒之内不断循环去找元素,知道超过10秒,报超时错误。

    什么是线程等待

    有时候,我们需要强制设置线程等待,Thread.sleep(2000),driver这个实例,就是当前的线程。

    你能解释下Selenium这个框架吗?

    你写的测试脚本能在不同浏览器上运行吗,支持跨浏览器平台吗?

    这里出现了跨浏览器平台的概念,就是写一个测试用例,可以在主流的几个浏览器跑起来。 是的,我写的测试用例能在IE,火狐和谷歌这三种浏览器上运行。主要是在windows平台上运行脚本,所以mac的safari浏览器暂时没有写过。主要实现这个跨浏览器的思想就是,把浏览器类型写到配置文件,代码里写if语句去判断配置文件的浏览器的类型,来决定用什么浏览器去执行测试用例。

    关闭浏览器中quit和close的区别

    两个都可以实现退出浏览器session功能,close是关闭你当前聚焦的tab页面,而quit是关闭全部浏览器tab页面,并退出浏览器session。知道这两个区别,我们就知道quit一般用在结束测试之前的操作,close用在执行用例过程中关闭某一个页面的操作

    在日历这种web 表单你是如何处理的?

    首先要分析当前网页试用日历插件的前端代码,看看能不能通过元素定位,点击日期实现,如果不能,可能需要借助javascript。还有些日历控件一个文本输入框,可以直接sendKeys()方法来实现传入一个时间的数据。

    如何处理下拉菜单?

    通常我们也可以通过Click方法来点击下拉菜单里面的元素,还有一种方法,在Selenium中有一个类叫Select,支持这种下拉菜单交互的操作。

    基本使用语法是这样的:

    Select Se=new Select(element);

    Se.selectByIndex(index);

    Se.selectByvalue(value);

    Se.selectByVisibleText(text);

    怎么验证勾选框是

    enable/disabled/ checked/Unchecked/

    displayed/ not displayed?

    你查找元素遇到过在Frame里面吗?你是如何处理Frame里面元素定位的?

    有时候我们知道元素定位表达式没有问题,但是还是提示no

    such element,那么我们就需要考虑这个元素是否在frame中。如果在,我们就需要从topwindow,通过swithcTo.Frame()方法来切换到目标frame中,可以通过frame的name和id和索引三种方法来定位frame。

    在selenium中如何处理多窗口?

    这里需要用到swithTo方法。

    需要获取当前浏览器多窗口句柄,然后根据判断跳转新句柄还是旧句柄

    如何处理alert弹窗

    我们常见的alert弹窗有两种:基于windows弹窗和基于web页面弹窗

    我们知道,webdriver是能够处理alert弹窗的,Selenium提供了Alert这个接口。相关操作代码如下:

    // 切换到Alert

    Alert alert =

    driver.switchTo().alert();

    // 点击弹窗上确定按钮

    alert.accept();

    // 点击弹窗的取消按钮

    alert.dismiss()

    // 获取弹窗上线上的文本文字内容

    alert.getText();

    // 有些弹窗还支持文本输入,这个可以把要输入字符通过sendkeys方法输入

    alert.sendkeys();

    19.举例一下你遇到过那些异常,在selenium自动化测试过程中

    1.

    ElementNotSelectableException :元素不能选择异常

    2. ElementNotVisibleException :元素不可见异常

    3. NoSuchAttributeException :没有这样属性异常

    4. NoSuchElementException:没有该元素异常

    5. NoSuchFrameException :没有该frame异常

    6. TimeoutException : 超时异常

    7. Element not visible at this point  :在当前点元素不可见

    findElement 和 FindElements有什么区别?

    首先,两个都是查找元素,都支持八大元素定位方法。findElement()得到的只有一个元素,如果根据提供的元素定位方式找不到,会报noSuchElement异常。

    findElements()返回的是一组元素,所以我们需要根据能够找到一组元素的表达式去定位,返回一组元素我们可以放在集合里,这样我们就可以使用集合里面的迭代方法去遍历元素,拿到元素去做其他操作。

    如何获取页面标题,悬浮文本和错误文本,并验证?

    标题,我们可以通过driver.getTitle()方法来得到一个字符串,然后使用字符串的containts方法或者equals方法去进行断言。

    悬浮文本(tooltip),一般是利用Actions类,然后鼠标悬停方法,然后通过getText()方法来得到这个tooltip字符串。

    错误信息,直接把这个错误字段先进行定位,然后通过getText()方法拿到错误文本,主要的断言有包含,相等,不相等,不包含,以什么开头等。

    你是如何管理你的测试用例并执行?

    写用例和管理并执行用例,我们都需要借助单元测试框架来实现,如果是Java语言一般有junit和TestNG,如果是python,常见的有unittest。

    就你实际情况,说一下。例如我使用TestNG比较多,需要配置testng.xml文件来实现测试用例的执行。有时候需要配置多个testng.xml去实现不同的任务场景。再展开,可能问你一下testng框架的知识点。例如,方法依赖,用例执行优先级,数据源驱动等。

    如何确定动态加载的元素:

    - xpath或者css通过同级、父级、子级进行定位

    介绍一下selenium2.0

    Selenium2.0

    = Selenium1.0 + WebDriver(也就是说Selenium2.0合并了这两个项目)

    Rc是在浏览器中运行js应用,使用浏览器内置的js翻译器翻译和执行selenese命令

    WebDriver是通过原生浏览器支持或浏览器扩展来直接控制浏览器。针对各浏览器而开发,避免了js安全模型导致的限制;还利用操作系统及的调用,模拟用户输入;

    请说明selenium

    2.0与3.0的区别

    Selenium 2.0

    =Selenium 1.0+WebDriver

    Selenium 3.0舍弃rc只有driver

    元素找不到可能的原因?

    1.动态id定位不到元素

    2.iframe原因定位不到元素

    3.不在同一个frame里边查找元素

    4. xpath描述错误

    5.点击速度过快 页面没有加载出来就需要点击页面上的元素

    6.firefox安全性强,不允许跨域调用出现报错

    selenium中如何判断元素是否存在?

    selenium中hidden或者是display = none的元素是否可以定位到?

    selenium中如何保证操作元素的成功率?也就是说如何保证我点击的元素一定是可以点击的?

    如何提高selenium脚本的执行速度?

    用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就没办法通过了,如何去提升用例的稳定性?

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

    什么是持续集成?

    自动化测试的时候是不是需要连接数据库做数据校验?

    id,name,clas,x path, css selector这些属性,你最偏爱哪一种,为什么?

    如何去定位页面上动态加载的元素?

    如何去定位属性动态变化的元素?

    点击链接以后,selenium是否会自动等待该页面加载完毕?

    webdriver client的原理是什么?

    webdriver的协议是什么?

    启动浏览器的时候用到的是哪个webdriver协议?

    什么是page object设计模式?

    什么是page factory设计模式?

    怎样去选择一个下拉框中的value=xx的option?

    如何在定位元素后高亮元素(以调试为目的)?

    什么是断言?

    如果你进行自动化测试方案的选型,你会选择哪种语言,java,js,python还是ruby?

    page object设置模式中,是否需要在page里定位的方法中加上断言?

    page object设计模式中,如何实现页面的跳转?

    自动化测试用例从哪里来?

    你觉得自动化测试最大的缺陷是什么?

    什么是分层测试?

    webdriver可以用来做接口测试吗?

    展开全文
  • 目录前言:一、Web自动化测试面试题二、APPUI自动化测试面试题三、接口自动化测试面试题四、全栈自动化测试学习路线图及全栈资料分享 前言: 这篇文章是为大家在网上收集整理的软件测试面试题目及答案。无意冒犯...
  • 自动化测试面试题收集

    千次阅读 2019-03-28 15:21:09
    4、请问桌面自动化测试和web自动化测试的区别 5、请问自动化测试碰到比较难解决的问题是什么,如果出现这些问题给出你的解决方案 6、请问selenium中如何判断元素是否存在 7、请问以前项目种做到的自动化测试用例...
  • 网上收集到的一些有关Selenium自动化相关的面试,给出的答案仅供参考。1.Selenium中用什么函数判断元素是否存在?isElementPresent2.Selenium中hidden或者是display = none的元素是否可以定位到?不能,可以写...
  • Web自动化面试题合集

    2021-02-24 11:26:32
    Web自动化测试的背景 1、项目周期比较长 2、功能越来越复杂 3、历史功能比较稳定 4、解放繁琐的工作 Web自动化的前置条件 版本已经趋于稳定,和结合接口自动化进行,对每次发过来的版本先做一遍接口测试,然后对主...
  • 是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试。 Selenium 1.0或Selenium RC Selenium 2.0或Selenium Webdriver Selenium 3.0 问题2:你如何从命令行启动Selenium RC? java -jar ...
  • 出品 | 51Testing软件测试网在上一篇分享中,给大家带来了selenium核心技术点在笔试/面试中的常见题型,本篇将继续深入探究自动化测试相关面试点,如果说selenium是一款web自动化测试不可缺的“武器”,那就需要安装...
  • 发现大家面试遇到的最多的还是Web端/APP端的自动化测试的问题,然后收集了以下App/Web自动化面试题真题,大家可以都来试试,自己能不能都答上来了。 经验之谈 一般面试的时候是结合简历上的项目一步一步深入进行问...
  • 自动化测试面试题及答案大全(2)

    万次阅读 2019-04-18 09:40:05
    是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试。 Selenium 1.0或Selenium RC Selenium 2.0或Selenium Webdriver Selenium 3.0 问题2:你如何从命令行启动Selenium RC? java -jar ...
  • 页面自动化测试问题汇总专业技术什么是SeleniumSelenium是一个开源的web自动化测试框架,主要是基于web UI的自动化测试。现在的版本,逐步增加了对移动端的自动化测试。Selenium支持多种语言进行开发自动化测试脚本...
  • Selenium是一款基于Web功能测试的自动化测试框架。它的应运而生经历了不同时代,组成了一系列工具集,已然成为了Web功能自动化测试的首选“武器”。...笔试/面试中常见技术要点 —— Selenium Web自动化...
  • 是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试。 Selenium 1.0或Selenium RC Selenium 2.0或Selenium Webdriver Selenium 3.0 问题2:你如何从命令行启动Selenium RC? java -jar ...
  • 是一个开源的web自动化测试的框架,支持多种编程语言,支持跨浏览器平台进行测试。 Selenium 1.0或Selenium RC Selenium 2.0或Selenium Webdriver Selenium 3.0 问题2:你如何从命令行启动Selenium RC? java -jar ...
  • 先思考,然后百度,考虑网速、电脑配置等原因,这主要看重解决问题的能力和思维。   4.Selenium的工作原理? 可以结合图片进行解释。脚本启动driver,然后启动浏览器作为远程服务器,执行脚本...
  • 今天想和大家分享一篇有关Selenium+Web UI自动化测试面试题,今天看了一个视频,在此加以总结,欢迎大佬进行补充。(由于本人平时使用java,所以下文皆以java语言为例) 1. Selenium怎么判断元素是否存在? 答:...
  • 1.你如何用Selenium测试?...先思考,然后百度,考虑网速、电脑配置等原因,这主要看重解决问题的能力和思维。 4.Selenium的工作原理? 可以结合图片进行解释。脚本启动driver,然后启动浏览器作为远程服务器
  • selenium自动化测试面试题目,今日份笔记。 1.selenium怎么保证元素操作的成功率,也就是保证你点击的元素一定是可以点击的 2.用例在运行过程中经常会出现不稳定的情况,也就是说这次可以通过,下次就 没办法通过了...
  • 1.Selenium 中 hidden 或者是 display = none 的元素是否可以定位到?... 接口测试有现成的模块来处理,WebDriver 是用于做 WebUI 自动化测试的。如果 要实现接口测试,可以使用 Requests 模块来实现 测码学院
  • 先思考,然后百度,考虑网速、电脑配置等原因,这主要看重解决问题的能力和思维。 4.Selenium的工作原理? 可以结合图片进行解释。脚本启动driver,然后启动浏览器作为远程服务器,执行脚本发送请求,服务器解.....
  • 答:自动化代码用到过的设计模式:①单例设计模式②工厂模式③PO设计模式④数据驱动模式⑤面向接口编程设计模式2、什么是Selenium答:Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,...
  • Selenium是一款基于Web功能测试的自动化测试框架。它的应运而生经历了不同时代,组成了一系列工具集,已然成为了Web功能自动化测试的首选“武器”。...笔试/面试中常见技术要点 —— Selenium Web自动化...
  • 前言最近看到群里有小伙伴贴出一组面试题,最近又是跳槽黄金季节,小编忍不住抽出一点时间总结了下一、selenium中如何判断元素是否存在?expected_conditions模块提供了16种判断方法,以下方法是判断元素存在DOM中:...
  • 平时面试一般会问及:1、自我介绍2、SQL、MYSQL是否用过3、测试题:产品与业务员是多对多的关系,一个业务员可以销售多种产品,一个产品也可以被多个业务员销售,问:如何查询到销售产品1比销售产品2多的业务员?...
  • Selenium是基于Web的最流行的UI自动化测试工具。它提供了一组支持多种平台的公开API(例如Linux,Windows,Mac OS X等)。此外,像Google Chrome,Mozilla Firefox,Internet Explorer和Safari等所有现代浏览器都...
  • python自动化笔试面试题(附带答案)

    千次阅读 多人点赞 2019-05-23 14:19:09
    一、问答 1、自动化代码中,用到了哪些...答:Selenium是一个开源的web自动化测试框架,支持多种编程语言开发自动化测试脚本,支持跨浏览器平台进行测试 3、TestNG中注解有哪些? 答:@Test,@BeforeSuite,@After...

空空如也

空空如也

1 2 3 4 5 ... 7
收藏数 137
精华内容 54
关键字:

web自动化测试面试题