`
文章列表
   很久不更新博客了,这次大概说一下C#中的Send WebRequest,众所周知,.NET网络编程在测试中是非常常见的,具体来说,比如我们如果测试一个API,通过Send WebRequest的方式来进行API层面的功能测试,然后用Selenium完成前端的验证,这种模式应该说是比较方便而通用的,具体以其中最常见的HTTP request为例,当我们需要传输数据时,需要 1)地址:Address作为Webrequest参数实例化,然后设定相应属性,比如Method(Get还是Post等等) 2)数据:Data作为HttpRequest的数据流写入: XmlResponse = null; ...
  相信用过Selenium webdriver的相信对Actions类并不陌生。测试的时候,经常我们在做鼠标移动到某个元素的时候,需要用到Actions类中的moveToElement方法,在此简单小结一下, 1. 控制元素位移相关: moveToElement相关 Try to move mouse over the object element: Actions A1=new Actions(driver);       WebElement obj=driver.findElement(By.xpath("//*[@text='Family, identity']") ...
一. 关于隐藏元素,    相信大家都碰到过定位一个当前hidden的元素。看到了很多方法,先总结一下,比较通用的肯定还是用JavascriptExecutor接口的方法了: JavascriptExecutor js = (JavascriptExecutor) driver;     String myjs="document.getEleme ...
关于新窗口弹出问题,我们往往需要switch方法去切换得到新窗口的值,而如何判断和新窗口对比之后能正确切换,则需要我们用getWindowHandles()方法,然后再foreach它们,具体实现如下:      String winHandleBefore = driver.getWindowHandle();       Set<String> handles = driver.getWindowHandles();       for(String s: handles)        {           if (s.equals(winHandleBefore))   ...
相信大家都遇到过这样的情况:进到一个页面,点击windows组件上传文件=》popup弹出=》选择文件=》回到原popup页面=》点击上传=》progress bar开始启动,需要等待progress bar消失=》上传成功 其中有很多点都是比较让人头疼的,比如文件上传的控制,判断元素的出现时间,progress bar的check处理等待,在此我仅总结一下几个关键点的方法,希望对初学者有所帮助: 1. 先说文件上传popup部分: 很多popup弹出来需要定位时,切换到该frame之后再进行操作,老生常谈,但是还是很多人在很多情况下忽略了,没办法,做测试就是要注意细节: driver.sw ...
   之前在数据篇介绍了Dataprovider,之后自己看了一下,觉得还是有些实例会可读性强一些。关于数据读取,我以Excel为例,介绍一个自己项目中的方法,以做补充: // CMDNumber和method是读取参数,前者用于定位Excel的sheet,后者用于定位Cell坐标 public String[][] getExcel_Step2(String CMDNumber, String method) throws BiffException, IOException {   //读取指定路径的Excel数据文档,得到参数CMDNumber并依此对应到相应的sheet在Ex ...
   关于TestNG数据驱动的优势我想很多文档,教程已经说了很多遍了,而它提供的参数化让我们在测试项目可以灵活根据需求建立不同的dataprovider来提供数据,而真正实现数据,页面,测试彼此独立而又有机结合的可能性。    具体说来,数据的组织形式多种多样,TestNG提供的dataprovider我们可以用来进行数据处理,或者直接编辑。实例一:直接编辑 @DataProvider(name="CMD")     public Object[ ][ ] CMD_data() throws BiffException, IOException {        Ob ...
众所周知,在基于项目考虑的话,selenium在Testng中的不同API,方法和annotations在测试class中会被频繁调用,而如果用页面封装,例如PageFactory的话,可以大大简化测试用例中的方法调用,并且命名规则也可以得到统一规范,之前看到一个selenium教程,还很不错,在此推荐一下: http://www.seleniumcn.cn/read.php?tid=8003    在视频中的方法就不赘述了,下面我们看一个典型的传统TestNG case,初学者可能比较多的使用IDE录制工具,然后再补充进一些个人方法和API的应用等,但这样一来,显然不利于长期维护,也会降低可 ...
关于时间控制,我想通常最常见到的就是thread.sleep()方法了。不过这样有很多弊端和风险,为了能合理规避风险以及让代码易于维护,在此总结几种常用方法: 1. 隐性等待:(配合BeforeMethod使用,相当于配置在测试中的参数) @BeforeMethod   public void beforeMethod() {       driver= new FirefoxDriver();                  driver.manage().timeouts().implicitlyWait(3,TimeUnit.SECONDS );   driver. ...
   因为我用的是selenium webdriver+Eclipse+TestNG的解决方案,之前也在网上看到过很多关于失败截图的方法。不知道在哪看过一篇文章,说一个Tester的截图就应该像诗人能“吟的一首好诗”一样“截的一手好图”, 而我看到的方法大多是基于Webdriver Exception,和调用EventListener相结合。下面我简单就我的经验将截图方法分类总结一下:    在说正题之前,先给出一个比较通用的常用截图方法,这个用过selenium的人就不用我多说了吧。基本上各种教程,例程给出的方法都大抵相同。而我们要实现的各种失败的方法也源于此,后续再谈。    public ...
Global site tag (gtag.js) - Google Analytics