在任何android自动化工具中,捕获屏幕截图都是非常重要的部分。在任何android测试服中,如果您在测试失败期间进行了屏幕截图,则可以非常有效地识别并捕获缺陷。您可以与开发人员共享相同的屏幕截图以报告您的错误。在运行自动化工具时拍摄屏幕快照可以为测试人员节省大量时间。在这篇文章中,我们将学习如何为appium测试用例失败拍摄屏幕截图。
看看我为在appium测试用例失败中获取屏幕截图而准备的简单示例。首先创建一个方法 captureScreenShot() 通过这种方法,您可以决定如何命名目录并 .png 每个屏幕截图的文件。您可以使用日期或测试用例名称来唯一命名您的名称 .png 文件。
在下面的测试案例中,我们将屏幕截图存储在 文件夹/目录 命名为 屏幕截图。我将向您展示两种使用以下方法存储屏幕快照的方法 当前日期,其次使用您选择的任何名称。
影片教学-
影片教学-
第一种方法
1.使用Web驱动程序给定的界面拍摄画面”。
2.使用获取当前日期和时间 日期格式 类。
3.然后将其存储在屏幕快照文件夹中,并将其名称设置为当前日期和时间。
public void CaptureScreenShot { 鸦片Driver driver; String folder_name; 日期格式 df;
@Before public void testCaseSetup()throws Exception { DesiredCapabilities cap=new DesiredCapabilities(); cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000"); cap.setCapability(MobileCapabilityType.APP, "c://apks//seekbarsample.apk"); cap.setCapability("noReset", true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap); } @Test public void testSeekBar()throws Exception { //Locating seekbar using resource id WebElement seek_bar=driver.findElement(By.id("seek_bar")); // get start co-ordinate of seekbar int start=seek_bar.getLocation().getX(); //Get width of seekbar int end=seek_bar.getSize().getWidth(); //get location of seekbar vertically int y=seek_bar.getLocation().getY(); // Select till which position you want to move the seekbar TouchAction action=new TouchAction(driver); //Move it will the end action.press(start,y).moveTo(end,y).release().perform(); //Move it 40% int moveTo=(int)(end*0.4); action.press(start,y).moveTo(moveTo,y).release().perform(); captureScreenShots(); } public void captureScreenShots() throws IOException { folder_name="屏幕截图"; File f=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //Date format fot 屏幕截图 file name df=new SimpleDateFormat("dd-MMM-yyyy__hh_mm_ssaa"); //create dir with given folder name new File(folder_name).mkdir(); //Setting file name String file_name=df.format(new Date())+”。 png"; //coppy 屏幕截图 file into 屏幕截图 folder. FileUtils.copyFile(f, new File(folder_name + "/" + file_name)); } @After public void testCaseTearDown() { driver.quit(); } }
第二种方法
1.使用Web驱动程序给定的界面拍摄画面”。
2.从调用testScreenShot()方法的测试用例中获取名称。
3. 然后将其存储在屏幕快照文件夹中,并将其名称设置为测试用例通过的字符串。
public void CaptureScreenShot { 鸦片Driver driver; String folder_name; 日期格式 df;
@Before public void testCaseSetup()throws Exception { DesiredCapabilities cap=new DesiredCapabilities(); cap.setCapability(MobileCapabilityType.PLATFORM_NAME, "Android"); cap.setCapability(MobileCapabilityType.DEVICE_NAME, "Android device"); cap.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "4000"); cap.setCapability(MobileCapabilityType.APP, "c://apks//seekbarsample.apk"); cap.setCapability("noReset", true); driver = new AndroidDriver(new URL("http://127.0.0.1:4723/wd/hub"), cap); } @Test public void testSeekBar()throws Exception { //Locating seekbar using resource id WebElement seek_bar=driver.findElement(By.id("seek_bar")); // get start co-ordinate of seekbar int start=seek_bar.getLocation().getX(); //Get width of seekbar int end=seek_bar.getSize().getWidth(); //get location of seekbar vertically int y=seek_bar.getLocation().getY(); // Select till which position you want to move the seekbar TouchAction action=new TouchAction(driver); //Move it will the end action.press(start,y).moveTo(end,y).release().perform(); //Move it 40% int moveTo=(int)(end*0.4); action.press(start,y).moveTo(moveTo,y).release().perform(); captureScreenShots("Seekbar"); } public void captureScreenShots(String file_name) throws IOException { folder_name="屏幕截图"; File f=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); //create dir with given folder name new File(folder_name).mkdir(); //Setting file name file_name=df.format(new Date())+”。 png"; //coppy 屏幕截图 file into 屏幕截图 folder. FileUtils.copyFile(f,new File(folder_name + "/" + file_name)); } @After public void testCaseTearDown() { driver.quit(); } }
我希望本教程将帮助您在Appium测试用例中拍摄屏幕截图。
通过本教程,您可以编写测试代码,以在Appium测试用例失败时获取屏幕截图,并获取用于验证UI的屏幕截图 在多个设备上。
希望本教程对您有所帮助。分享您的反馈意见并 以下评论部分中的问题。请按照社交媒体上的“质量检查自动化”操作, 获取最新的帖子更新。测试愉快:-)
通过本教程,您可以编写测试代码,以在Appium测试用例失败时获取屏幕截图,并获取用于验证UI的屏幕截图 在多个设备上。
希望本教程对您有所帮助。分享您的反馈意见并 以下评论部分中的问题。请按照社交媒体上的“质量检查自动化”操作, 获取最新的帖子更新。测试愉快:-)
太神奇了,非常感谢我的朋友,当我被扔进硒中时,我的坐姿也像你的横幅一样。
回复删除当我开始学习时,我知道它有很多很棒的东西。
我可以证明webdriver已证明是Selenium框架中的最佳功能。
非常感谢您抽出宝贵时间分享精彩的文章。
钦奈硒培训学院
嘿!
回复删除您是否测试了方法`captureScreenShots(String file_name)`? :)
通过代码df.format(new Date())+擦除“ file_name”变量".png"`
非常丰富。
回复删除钦奈的软件测试培训
正是我所需要的
回复删除太好了,非常感谢。
有用的帖子。感谢您分享该翔实的帖子。 库存审核 | 固定资产审计 | CFA审核
回复删除哇.....这些信息对我真的很有帮助。非常感谢您分享如此有用的帖子..... 重复付款审核
回复删除持续监控
发票审核重复
有没有办法拍摄整个页面的截图?
回复删除感谢您与我们分享此信息。内容对许多读者都有帮助。
回复删除教育特许经营印度
口语英语专营权
专营英语口语课
印度顶级教育专营权
印度最佳教育特许经营
计算机教育专营权
教育特许经营印度
电脑中心专营权
印度的教育特许经营机会