0

我是自动化的新手。我必须编写如下代码

我必须从一个文件中读取大约 10 个 url 并将其存储到一个哈希表中,然后我需要从哈希表中一个一个地读取 url,并且在遍历这个 url 时,我还需要再读取一个包含 3 个 url 的文件并在网页上搜索它们。如果存在需要单击该链接

我已经编写了以下代码,但我没有得到检查网页上是否存在文件链接的逻辑......请检查我的代码并帮助我解决/改进它。

Main test script 
package com.samaritan.automation;

import java.util.Hashtable;
import java.util.Set;

import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class FirstScript {

    WebDriver driver = new FirefoxDriver();     
    String data;
    CommonControllers commonControll = null;
    Hashtable<String, String> recruiters = null;


    @Test
    public void script() throws Exception {  
        CommonControllers commonControll = new CommonControllers();
        recruiters = new Hashtable<String,String>();

        recruiters = commonControll.readDataFromFile("D:/eRecruiters/_Recruiters.properties");

        Set<String> keys = recruiters.keySet();

        for(String key: keys){

        /**HERE I NEED TO WRITE THE FUNCTION TO VERIFY WHETHER THE LINK READ FROM SECOND FILE IS PRESENT ON WEBPAGE OR NOT**/
        }
   }    

}

和函数从文件读入哈希表

public Hashtable<String, String> readDataFromFile(String fileName) {
            try {
                FileReader fr = new FileReader(fileName);
                BufferedReader br = new BufferedReader(fr);
                String strLine = null;
                String []prop = null;
                while((strLine = br.readLine()) != null) {
                    prop = strLine.split("\t");
                    recruiters.put(prop[0], prop[1]);
                }
                br.close();
                fr.close();

            }catch(Exception exception) {
                System.out.println("Unable to read data from recruiter file: " + exception.getMessage());
            }
            return recruiters;
        }

请看一下!谢谢

4

1 回答 1

0

普里亚...你可以使用

 if(isElementPresent(By.linkText(LinkTextFoundFromFile))){
      //code when link text present there
 }else {
      //code for not finding the link
 }

现在,以下方法适用于By您可以使用的任何对象By.xpath,例如By.id等。

 private boolean isElementPresent(By by) {
     try {
       driver.findElement(by);
       return true;
     } catch (NoSuchElementException e) {
       return false;
     }
   }
于 2013-08-15T20:10:29.110 回答