1

に WebUtil.Java というファイルがありますsrc/test/java/com/x/utils。このコードを実行したい:

File firefoxProfileFolder = new File("/../../resources/firefoxprofile");

このファイルで、変数 firefoxProfileFolder にフォルダーを作成します。

このフォルダ (firefoxprofile) は にありsrc/test/resources/firefoxprofileます。私がやっていることは次のとおりです。

File firefoxProfileFolder = new File("../../../resources/firefoxprofile");

しかし、うまくいきませんか?私は何を間違っていますか?私が得ているエラーは次のとおりです。

org.openqa.selenium.firefox.UnableToCreateProfileException: Given model profile directory does not exist: ../../../resources/firefoxprofile
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 22:18:01'
System info: os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.7.3', java.version: '1.6.0_35'
Driver info: driver.version: unknown
4

2 に答える 2

1

Maven を使用している場合は、次のようなコードを使用して、テスト リソースの絶対パス名を解決できるはずです。

URL url = getClass().getResource("/firefoxprofile");

if (url == null) {
  // ... not found
} else {
  File firefoxProfileFolder = new File(url.getPath());
  // ...
}
于 2013-01-22T11:02:41.607 に答える
0

これをテストの一部として実行している場合 (クラスがテスト フォルダーにあると仮定すると)、surefire プラグインは Maven プロジェクトのベース ディレクトリをシステム プロパティとして設定します。

String basedir = System.getProperty("basedir");

basedir 変数には、プロジェクトのディレクトリが含まれます。したがって、元のコードは次のように記述できます

File firefoxProfileFolder = new File(basedir + "/src/test/resources/firefoxprofile");
于 2013-01-22T11:16:10.623 に答える