我想使用 selenide 工具调试一个没有 main 方法的 java 程序。我可以从命令行运行该程序,没有任何问题,但是当我尝试使用 VSCode 调试它时,它会输出
文件“Weather.java”不可执行。请选择您要运行的主班。
有没有办法在不使用 main 方法的情况下调试我的程序?”
天气.java
package com.example.app;
import static com.codeborne.selenide.Selenide.*;
// import static com.codeborne.selenide.Condition.*;
// import static com.codeborne.selenide.Selectors.*;
import com.codeborne.selenide.Configuration;
import com.codeborne.selenide.WebDriverRunner;
// import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvFileSource;
class Weather {
@ParameterizedTest
@CsvFileSource(resources = "Weather.csv", numLinesToSkip = 1)
void openWeather(String ward) {
String area = System.getProperty("area");
Configuration.browser = WebDriverRunner.CHROME;
// Configuration.headless = true;
// Googleトップページ
open("https://www.google.co.jp/");
// "天気"を検索
$("input[type=text]").val("天気").pressEnter();
// Youtube検索ページへ飛ぶ
$x("//a[@href='https://weather.yahoo.co.jp/weather/jp/13/4410/13120.html']").click();
$("#searchText").setValue(area);
$("#yjw_button_search").click();
$x("//a[text()= '" + ward + "']").click();
}
}
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "java",
"name": "Debug (Launch) - Current File",
"request": "launch",
"mainClass": "${file}",
"preLaunchTask": "Run Test"
}
]
}
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "Run Test",
"type": "shell",
"command": "mvn test -Dtest=Weather -Darea=\"東京\"",
"problemMatcher": []
}
]
}
当前版本如下:
使用 Visual Studio Code 的 Java 扩展运行测试只需单击资源管理器(文件)图标,然后展开 测试资源管理器 选项,向下探索到要运行的任何测试,右键单击,然后然后选择您的测试选项。无需使用
launch.json file
来执行此操作。