zoukankan      html  css  js  c++  java
  • 读取配置文件

    项目结构图


    代码:

    1、Login.java

    package com.gubai.selenium;
    
    import org.openqa.selenium.By;
    import org.openqa.selenium.WebDriver;
    import org.openqa.selenium.WebElement;
    import org.openqa.selenium.chrome.ChromeDriver;
    import org.openqa.selenium.interactions.Actions;
    
    public class Login {
    	public WebDriver driver;
    	public void InitDriver() {
    		String url = "http://www.imooc.com/";
    		System.setProperty("webdriver.chrome.driver", "C:\driver\chromedriver.exe");
    		driver = new ChromeDriver();
    		driver.get(url);
    		driver.manage().window().maximize();
    		this.elemnet(By.id("js-signin-btn")).click();
    	}
    
    	public void loginscript() throws Exception {
    		this.InitDriver();
    		String username = "18513199586";
    		String userpass = "111111";
    		String passBy = "name";
    		String passwordElement = "password";
    		String buttonElement = "btn-red";
    		String buttonBy = "className";
    		String headerElement = "header-avator";
    		String nameElement = "name";
    		String headerBy = "id"; 
    		String nameinfo = "className";
    		
    		ProUtil properties = new ProUtil("element.properties");
    		String locator = properties.getPro("username");
    		String locatorType =locator.split(">")[0];
    		String locatorValue = locator.split(">")[1];
    		
    		Thread.sleep(3000);
    		WebElement user = this.elemnet(this.byStr(locatorType, locatorValue));
    		//this.elemnet(this.byStr(userBy, emailElement));
    		user.isDisplayed();
    		WebElement password = this.elemnet(this.byStr(passBy,passwordElement));
    		password.isDisplayed();
    		WebElement loginButton = this.elemnet(this.byStr(buttonBy,buttonElement));
    		loginButton.isDisplayed();
    		user.sendKeys(username);
    		password.sendKeys(userpass);
    		loginButton.click();
    		Thread.sleep(3000);
    		WebElement header = this.elemnet(this.byStr(headerBy, headerElement));
    		header.isDisplayed();
    		Actions actions = new Actions(driver);
    		actions.moveToElement(header).perform();;
    		String userInfo = this.elemnet(this.byStr(nameinfo, nameElement)).getText();
    		System.out.println(userInfo);
    		if(userInfo.equals("mushishi_xu1")) {
    			System.out.print("登陆成功");
    		}else {
    			System.out.print("登录失败");
    		}
    	}
        /**封装By by **/
        public By byStr(String by, String local){
        	if(by.equals("id")) {
        		return By.id(local);
        	}else if(by.equals("name")){
        		return By.name(local);
        		}else if(by.equals("className")){
        			return By.className(local);
        		}else if(by.equals("xpath")){
        			return By.className(local);
        		}else{
        			return By.xpath(local);
        		}
        }
       /**
        * 封装Element 
        * **/
        public WebElement elemnet(By by) {
        	WebElement ele = driver.findElement(by);
        	return ele;
        }
    	public static void main(String[] args) throws Exception{
    	    Login login = new Login();
    	    login.loginscript();
    }
    }
    2、ProUtil.java

    package com.gubai.selenium;
    
    import java.io.BufferedInputStream;
    import java.io.FileInputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Properties;
    
    public class ProUtil {
    	private Properties prop;
    	private String filepaht;
    	/**
    	 * 构造方法
    	 * **/
    	public ProUtil(String filepath) {
    		this.filepaht = filepath;
    		this.prop = readProperties();
    		
    	}
    	/**
    	 * 读取配置文件
    	 * **/
    	private Properties readProperties() {
    		Properties properties = new Properties();		
    		try {
    			InputStream inputstream = new FileInputStream(filepaht);
    			InputStream in = new BufferedInputStream(inputstream);
    			properties.load(in);
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		return properties;
    	}
    	public String getPro(String key)  {
    		if(prop.containsKey(key)) {
    			String username = prop.getProperty(key);
    			return username;
    		}else {
    			System.out.println("你获取key值不对");
    			return "";
    		}
    	}
    	
    
    }
    3、element.properties

    username=name>email






  • 相关阅读:
    30多条mysql数据库优化方法,千万级数据库记录查询轻松解决【转】
    安全快速修改Mysql数据库名的5种方法
    ASP.NET Web API 学习【转】
    前端学习必备知识
    为什么引用不了App_Code里的类(报“未能找到类型或命名空间名称”错误)
    【ASP.net】Equals 和 == 的区别
    ADO.NET完整的增、删、改、查
    面向对象--类库、委托、is和as运算符、泛型集合
    面向对象-构造函数和静态方法
    面向对象--多态、虚方法重写、抽象类、接口
  • 原文地址:https://www.cnblogs.com/igubai/p/7426147.html
Copyright © 2011-2022 走看看