如何从一个类调用另一种屏幕快照方法?导航到我的代码后如何获取主页的屏幕快照?

问题描述 投票:0回答:1

如何从一类向另一类调用屏幕截图方法?登录我的代码后如何获取屏幕截图首页?

下面是类:-

属性类:

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"));

    }

LoginPageClass:

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();
    }
}
java selenium-webdriver browser-automation
1个回答
0
投票

只需在所需步骤从另一个类(导入static)中调用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();
© www.soinside.com 2019 - 2024. All rights reserved.