当前位置:首页>开发>正文

selenium ui自动化 如何利用selenium来进行自动化页面测试

2023-04-10 16:35:08 互联网 未知 开发

selenium ui自动化 如何利用selenium来进行自动化页面测试

如何利用selenium来进行自动化页面测试

利用Junit与selenium来实现自动化页面测试。
  1. 下载必要依赖文件selenium-server-standalone-2.25.0.jar, junit-4.7.jar,并将它们放置到工程的lib文件夹下面 (我这里使用Firefox浏览器来作为客户端,所以就不需要下载额外的浏览器执行器,如果你想用IE或是Chrome做客户端,请下载对应的执行器
http://code.google.com/p/selenium/downloads/list)
  2. 建立一个测试工程,在工程里创建一个测试文件,并添加如下代码:

  import com.thoughtworks.selenium.Selenium
  import junit.framework.TestCase
  import org.junit.After
  import org.junit.Before
  import org.junit.Test
  import org.junit.runner.RunWith
  import org.junit.runners.BlockJUnit4ClassRunner
  import org.openqa.selenium.By
  import org.openqa.selenium.WebDriver
  import org.openqa.selenium.WebDriverBackedSelenium
  import org.openqa.selenium.WebElement
  import org.openqa.selenium.firefox.FirefoxDriver
  import org.openqa.selenium.internal.WrapsDriver
  import org.openqa.selenium.support.ui.Wait
  import org.openqa.selenium.support.ui.WebDriverWait

  import java.io.IOException

  import static org.openqa.selenium.support.ui.ExpectedConditions.visibilityOfElementLocated

  @RunWith(BlockJUnit4ClassRunner.class)
  public class pickTest extends TestCase {
  protected static Selenium selenium
  private static WebDriver driver
  @Before
  public void createAndStartService() throws IOException {
  selenium = new WebDriverBackedSelenium(new FirefoxDriver(), "")
  driver = ((WrapsDriver) selenium).getWrappedDriver()
  }

  @After
  public void createAndStopService() {
  driver.quit()
  }

  @Test
  public void should_open_google_page() throws InterruptedException {
  driver.get("http://www.google.com.hk")
  WebElement searchBox = driver.findElement(By.xpath("//*[@id="lst-ib"]"))
  searchBox.sendKeys("selenium")
  WebElement searchButton = driver.findElement(By.xpath("//*[@id="tsf"]/div[2]/div[3]/center/input[1]"))
  searchButton.click()
  Waitwait = new WebDriverWait(driver, 30)   wait.until(visibilityOfElementLocated(By.xpath("//*[@id="ab_name"]/span")))
  }
  }
  3. 运行这个测试,你将看到firebox浏览器被自动启动,然后会自动的输入selenum并搜索。
  这样,一个简单的自动化页面测试就完成了。有的朋友可能不太明白这段代码的含义。上面的代码中我标出了红色和蓝色两部分,我简单解释一下。Selenium是通过对浏览器的包装来进行页面处理的,因此我们首先会创建一个与浏览器相关的WebDriver对象。然后我们需要查找页面元素就是通过findeElement的方法和XPath的方式来获取页面对象(红色部分代码)。那么通常我们的一个点击操作产生服务器相应,这里就需要一些时间。蓝色部分的代码就是创建一个等待对象,你可以通过XPath的方式来确定返回后页面上的哪个元素加载完了就认为页面加载完了,同时等待对象也有一个超时设置,这样即是服务器端一直不返回或出错。我们依然可以结束测试。如何更快的确定页面元素的XPath。

  将想法付诸于实践,借此来影响他人是一个人存在的真正价值!

怎样开始用selenium进行自动化测试


上手selenium的自动化测试很容易的,selenium RC是支持录制脚本的和回放的,我记得firefox浏览器提供了相关的插件可以来做这件事。也可以使用selenium、webdriver编写自动化测试脚本,网上的例子的很多,可以参考。建议还是了解一下selenium的工作原理,对于你编写脚本会有很大的帮助。

如何用Selenium进行Chrome自动化测试

与使用FireFox、IE测试基本一样。前提是需要Chrome的驱动程序,可以单独下载,然后至于何时的位置,在脚本中指明该驱动所在的位置即可。如使用IE测试:
1. 下载IEDriver(IE的驱动);

2. 在脚本中使用命令指定驱动所在的位置;
3.

新手,对selenium自动化测试具体流程不太明白,

selenium2是个自动化工具,junit是单元测试工具,它是辅助selenium2进行断言的。
原理就是通过selenium2来进行浏览器的操作,操作完成之后,通过页面上的数据与你预期中的数据进行对比断言,判断测试是否通过。

如何快速学会selenium自动化测试工具

当所有水管通路全部安装好后才可以水管压力测试,在测压前要 封堵所有的堵头,关闭所有阀门,打开进水总管的阀门。测压时,摇动水管压力测试机,直到压力表的指针指向0.9-1.0左右,也就是说现在的压力是正常水压的3倍.保持这个压力值一定时间。不同是水管测压时间不一样,PPR、铝塑PPR、钢塑PPR等焊接管是30分钟(只能超出不能少)。铝塑管就是铜接头的那种,它的时间是4个小时(半个工作日)。镀锌管是4个小时也是半个工作日。结果判断:在试压的时候要逐个检查接头、内丝接头,堵头都不能有渗水,有的人说堵头渗水没事,那是骗人的,堵头渗水就直接影响试压器的表针,表针不断的下降谁能知道那个地方检查的是否细致。试压器在规定的时间内表针没有丝毫的下降或者下降幅度小于0.1就说明水管管路是好的,同时也说明水管压力测试机也是正常工作状态。有很多人就是把水管压力测试机拿到地方一试没有5分钟就卸下来说好了,那才真是骗人的。此外,切记:每个堵头和龙头等接口处不能有漏水现象。用到的工具:扳手生料带堵头水管压力测试机

如何在linux命令行无界面下,使用selenium进行自动化测试

建议从基础开始,依次是:SELENIUM1(IDE、grid、rc、core),然后是selenium2(Webdriver),当然基础的java编程能力是必不可少的,然后就要实际多动手练习了

selenium自动化脚本中,ignore_missing=true什么意思?

1)下载好pywin32
2)设置PYTHONPATH为:D:Python34Libsite-packages
3)重启pycharm,重新导入即可。
3.在做selenium web页面的跳转,当页面发生变化时,一定要注意等待时间的设置。zd
如果在执行过程中,出现元素不存在或者未找到,或版者执行结束未报错,首先考虑是否进行等待时间的设置。
若等待时间添加了,看是否该元素在iframe中,如果在,直接定位是定位不到的,必须切换到iframe,再定位。
4.WebDriverException: Message: unknown error: Chrome failed to start: crashed
解决办法:谷歌版本过低,下载一个最新版本,同时更新driver驱动版本为相对应的版权本即可。

selenium自动化中@FindBy使用


selenium中 FindBy 有多种方法,通过id是其中一种,还可以通过name、className、Xpath、tag name等等多种定位方法。

如果你的要定位的对象id是动态的,那就看一下这个对象的name、className、Xpath、tag name等属性使用其中不是动态的。 我个人建议可以使用Xpath试试

最新文章