首页 > 解决方案 > 如何从一个类调用截图方法到另一个类?导航到我的代码后如何截取主页的截图?

问题描述

如何从一个类调用截屏方法到另一个类?登录我的代码后如何截取主页?

以下是课程:-

属性类:

package basepackage;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.interactions.Actions;
import org.openqa.selenium.io.FileHandler;

public class PropertiesClass extends BaseClass {

    public static String propfile(String username) throws IOException {
        Properties prop = new Properties();
        FileInputStream fis = new FileInputStream("C:\\Users\\pushk\\eclipse-workspace\\com.org.swag\\config.prop");
        prop.load(fis);
        return prop.getProperty(username);

    }

    public static void loginscreenshot() throws Exception {
        File file = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        FileHandler.copy(file, new File("C:\\Users\\pushk\\eclipse-workspace\\com.org.swag\\Screenshots.png"));

    }

登录页面类:

package com.org.swag.Page;

import org.openqa.selenium.support.PageFactory;
import com.org.swag.pageobject.LoginPageObjects;
import basepackage.BaseClass;
import basepackage.PropertiesClass;

public class LoginPage extends BaseClass {
    public void loginpage() throws Exception {
        LoginPageObjects lpo = PageFactory.initElements(driver, LoginPageObjects.class);
        lpo.username.sendKeys(PropertiesClass.propfile("username"));
        lpo.password.sendKeys(PropertiesClass.propfile("password"));
        lpo.loginsubmit.click();
        lpo.menu.click();
        lpo.logout.click();
    }
}

标签: javaselenium-webdriverbrowser-automation

解决方案


只需在所需步骤static从另一个类(导入)调用 screenshot 方法。basepackage.PropertiesClass在您的代码中,在登录后添加调用:

    LoginPageObjects lpo = PageFactory.initElements(driver, LoginPageObjects.class);
    lpo.username.sendKeys(PropertiesClass.propfile("username"));
    lpo.password.sendKeys(PropertiesClass.propfile("password"));
    lpo.loginsubmit.click();

    PropertiesClass.loginscreenshot();

    lpo.menu.click();
    lpo.logout.click();

推荐阅读