【秦菲】【提问】请教Selenium运行报空指针

环境:
浏览器:IE;界面语言:extjs;工具:eclipse

需要做的操作:点击图片Workflow Manager,进入到其他界面
对象对位,请大家看截图

截图09
运行的脚本:

import static org.junit.Assert.*;
import Login.CommandRunner;

import org.junit.Test;

import com.thoughtworks.selenium.Selenium;

public class Workflow_Portfolio extends CommandRunner {
	protected Selenium selenium=null;
	public static void main(String[] agrs){
		Workflow_Portfolio w = new Workflow_Portfolio();
		w.test();
		w.workflow_port();
	}
	@Test
	public void test(){

		super.setUp();//用于其他操作,该操作能正常运行

	}
	public void workflow_port(){

		selenium.click("css=img[title=\"Workflow Manager\"]");
}

运行的结果:
Exception in thread “main” java.lang.NullPointerException

尝试的方法,更改workflow_port()方法中selenium.click(“css=img[title=\”Workflow Manager\”]”)
为(1)selenium.click(”xpath=//IMG[@id=’XXX’]”);
(2) selenium.click(”xpath=//IMG[@id=’XXX’]@src”);
运行的结果都一样

麻烦大家帮忙了!

5 thoughts on “【秦菲】【提问】请教Selenium运行报空指针

  1. 谢谢Archer,我这里是继承类,在父类里面我已经写过你说的方法了,呵呵;所以我把继承类里面的那句话protected Selenium selenium=null删除了,其就没有再报空指针了,能运行成功了,谢谢

  2. xpath的格式应该是正确的,报空指针错误说明问题不在Xpath这里。这句高度怀疑 protected Selenium selenium=null; 这句代码声明了一个Selenium类型的对象,但是你并没有创建它,这个selenium对象就是NULL的。自然就报空指针错误了。在protected Selenium selenium=null;(这句只是声明,并没有创建对象)语句下面创建一个selenium对象,selenium = new DefaultSelenium(“”);

  3. 在selenium.click(“xxxxxxxxxxxxxxxxxx”)之前注意增加判断 if(selenium==NULL){ selenium=new DefaultSelenium(“”) },如果没有selenium这个对象就NEW一个

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据