请教高人:关于WebDriver截图报错

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教高人:关于WebDriver截图报错相关的知识,希望对你有一定的参考价值。

使用WebDirver进行截图时报类型转换出错,困扰好几天了,请有经验的朋友帮忙指点下。

代码如下,运行完后有报错,D盘下也没有生成文件:
public void testTakesScreenshot()
WebDriver driver = new InternetExplorerDriver();
driver.get("http://www.baidu.com");
try
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile,new File("d:\\screenshot.png"));
catch (Exception e)
e.printStackTrace();

driver.close();


报错信息如下:
java.lang.ClassCastException:
org.openqa.selenium.ie.InternetExplorerDriver cannot be cast to org.openqa.selenium.TakesScreenshot
at com.selenium.ScreenShot.testTakesScreenshot(ScreenShot.java:19)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
PASSED: testTakesScreenshot

参考技术A 你浏览器安装的是默认位置吗?如果 不是你应该设置下浏览器的路径! 参考技术B 我知道!你要么 楼坠!!!!!追问

mysql第四篇文章~关于锁的那点事

一 简介:遇到被人请教了一个并行更新锁的问题,让我纠结了好一阵子,后来请教了高人,终于想通。

二 实验: 

    CREATE TABLE `test1` (
    `ID` varchar(36) NOT NULL COMMENT ‘ID‘,
    `NAME` varchar(36) DEFAULT ‘‘,
   `STATUS` varchar(10) DEFAULT NULL,
   `PID` varchar(36) DEFAULT NULL COMMENT ‘父级ID‘,
    PRIMARY KEY (`ID`),
    KEY `IDX_PID` (`PID`)
   ) ENGINE=InnoDB DEFAULT CHARSET=utf8
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘1‘,‘1‘,‘A‘,‘111‘);
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘2‘,‘3‘,‘B‘,‘222‘);
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘3‘,‘3‘,‘D‘,‘333‘);
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘4‘,‘4‘,‘E‘,‘222‘);
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘5‘,‘5‘,‘F‘,‘222‘);
   insert into `test1` (`ID`, `NAME`, `STATUS`, `PID`) values(‘6‘,‘6‘,‘C‘,‘111‘);
   事务1
   begin
   update test1 set name=‘2131‘ where pid=111;

   事务2
   begin
   update test1 set name=‘21311‘ where id=3;

   结果 在执行事务1的时候 事务2 会卡住(pid为非唯一性索引,id为主键)

  三 分析:

   通过分析得出以下几点

   1 数据库模式 :RR 

   2 数据库对于非唯一性索引的加锁方式:1 寻找到这条记录的主键索引进行这条记录的锁定 record lock(针对指定记录的更新和删除),  2对于非唯一性索引本身上下值的范围的锁定,gap lock(针对指定范围的插入)

  四 疑惑 :

     按照理论分析来说,事务1的锁定记录只有ID=1和ID=6这两条记录和相关的gap锁,不应该会阻塞事务2 ID=3的更新。纠结了好久好久,又问了很多人 

  五 解决 :

     终于得到了M哥和文兄的指点才发现,更新语句的类型是varchar,而我两个事务的条件都没加引号。。,导致了隐式转换(还是粗心惹的祸),条件加上引号后,不会阻塞了。解决。

  六 补充
     1 隐式转换会导致索引失效,切记切记

     2 关于非唯一性索引锁定的范围一定要判断好

       

      




















以上是关于请教高人:关于WebDriver截图报错的主要内容,如果未能解决你的问题,请参考以下文章

关于CxImage解析 透明的PNG图片,得到的结果图片并不透明,请教高人,如何解决,给个思路也行,十分感谢

新手向EXCEL高人请教关于VBA和数据透视图的问题,愿不吝赐教的学生先在这里给您道声:谢谢了.请留下您的Q...

关于在selenium 中 webdriver 截图操作

jmeter配置环境变量报错,请教大神

关于Ctex内安装revtex4的请教

请教高人:python语言中用Tkinter怎样设置窗口背景为图片?