How to use configDir method of com.intuit.karate.Runner class

Best Karate code snippet using com.intuit.karate.Runner.configDir

Source:Runner.java Github

copy

Full Screen

...151 Class optionsClass;152 String env;153 File workingDir;154 String buildDir;155 String configDir;156 int threadCount;157 int timeoutMinutes;158 String reportDir;159 String scenarioName;160 List<String> tags;161 List<String> paths;162 List<Feature> features;163 String relativeTo;164 final Collection<RuntimeHook> hooks = new ArrayList();165 RuntimeHookFactory hookFactory;166 HttpClientFactory clientFactory;167 boolean forTempUse;168 boolean backupReportDir = true;169 boolean outputHtmlReport = true;170 boolean outputJunitXml;171 boolean outputCucumberJson;172 boolean dryRun;173 boolean debugMode;174 Map<String, String> systemProperties;175 Map<String, Object> callSingleCache;176 Map<String, ScenarioCall.Result> callOnceCache;177 SuiteReports suiteReports;178 JobConfig jobConfig;179 Map<String, DriverRunner> drivers;180 // synchronize because the main user is karate-gatling181 public synchronized Builder copy() {182 Builder b = new Builder();183 b.classLoader = classLoader;184 b.optionsClass = optionsClass;185 b.env = env;186 b.workingDir = workingDir;187 b.buildDir = buildDir;188 b.configDir = configDir;189 b.threadCount = threadCount;190 b.timeoutMinutes = timeoutMinutes;191 b.reportDir = reportDir;192 b.scenarioName = scenarioName;193 b.tags = tags;194 b.paths = paths;195 b.features = features;196 b.relativeTo = relativeTo;197 b.hooks.addAll(hooks); // final198 b.hookFactory = hookFactory;199 b.clientFactory = clientFactory;200 b.forTempUse = forTempUse;201 b.backupReportDir = backupReportDir;202 b.outputHtmlReport = outputHtmlReport;203 b.outputJunitXml = outputJunitXml;204 b.outputCucumberJson = outputCucumberJson;205 b.dryRun = dryRun;206 b.debugMode = debugMode;207 b.systemProperties = systemProperties;208 b.callSingleCache = callSingleCache;209 b.callOnceCache = callOnceCache;210 b.suiteReports = suiteReports;211 b.jobConfig = jobConfig;212 b.drivers = drivers;213 return b;214 }215 public List<Feature> resolveAll() {216 if (classLoader == null) {217 classLoader = Thread.currentThread().getContextClassLoader();218 }219 if (clientFactory == null) {220 clientFactory = HttpClientFactory.DEFAULT;221 }222 if (systemProperties == null) {223 systemProperties = new HashMap(System.getProperties());224 } else {225 systemProperties.putAll(new HashMap(System.getProperties()));226 }227 // env228 String tempOptions = StringUtils.trimToNull(systemProperties.get(Constants.KARATE_OPTIONS));229 if (tempOptions != null) {230 LOGGER.info("using system property '{}': {}", Constants.KARATE_OPTIONS, tempOptions);231 Main ko = Main.parseKarateOptions(tempOptions);232 if (ko.tags != null) {233 tags = ko.tags;234 }235 if (ko.paths != null) {236 paths = ko.paths;237 }238 dryRun = ko.dryRun || dryRun;239 }240 String tempEnv = StringUtils.trimToNull(systemProperties.get(Constants.KARATE_ENV));241 if (tempEnv != null) {242 LOGGER.info("using system property '{}': {}", Constants.KARATE_ENV, tempEnv);243 env = tempEnv;244 } else if (env != null) {245 LOGGER.info("karate.env is: '{}'", env);246 }247 // config dir248 String tempConfig = StringUtils.trimToNull(systemProperties.get(Constants.KARATE_CONFIG_DIR));249 if (tempConfig != null) {250 LOGGER.info("using system property '{}': {}", Constants.KARATE_CONFIG_DIR, tempConfig);251 configDir = tempConfig;252 }253 if (workingDir == null) {254 workingDir = FileUtils.WORKING_DIR;255 }256 if (configDir == null) {257 try {258 ResourceUtils.getResource(workingDir, "classpath:karate-config.js");259 configDir = "classpath:"; // default mode260 } catch (Exception e) {261 configDir = workingDir.getPath();262 }263 }264 if (configDir.startsWith("file:") || configDir.startsWith("classpath:")) {265 // all good266 } else {267 configDir = "file:" + configDir;268 }269 if (configDir.endsWith(":") || configDir.endsWith("/") || configDir.endsWith("\\")) {270 // all good271 } else {272 configDir = configDir + File.separator;273 }274 if (buildDir == null) {275 buildDir = FileUtils.getBuildDir();276 }277 if (reportDir == null) {278 reportDir = buildDir + File.separator + Constants.KARATE_REPORTS;279 }280 // hooks281 if (hookFactory != null) {282 hook(hookFactory.create());283 }284 // features285 if (features == null) {286 if (paths != null && !paths.isEmpty()) {287 if (relativeTo != null) {288 paths = paths.stream().map(p -> {289 if (p.startsWith("classpath:")) {290 return p;291 }292 if (!p.endsWith(".feature")) {293 p = p + ".feature";294 }295 return relativeTo + "/" + p;296 }).collect(Collectors.toList());297 }298 } else if (relativeTo != null) {299 paths = new ArrayList();300 paths.add(relativeTo);301 }302 features = ResourceUtils.findFeatureFiles(workingDir, paths);303 }304 if (scenarioName != null) {305 for (Feature feature : features) {306 feature.setCallName(scenarioName);307 }308 }309 if (callSingleCache == null) {310 callSingleCache = new HashMap();311 }312 if (callOnceCache == null) {313 callOnceCache = new HashMap();314 }315 if (suiteReports == null) {316 suiteReports = SuiteReports.DEFAULT;317 }318 if (drivers != null) {319 Map<String, DriverRunner> customDrivers = drivers;320 drivers = DriverOptions.driverRunners();321 drivers.putAll(customDrivers); // allows override of Karate drivers (e.g. custom 'chrome')322 } else {323 drivers = DriverOptions.driverRunners();324 }325 if (jobConfig != null) {326 reportDir = jobConfig.getExecutorDir();327 if (threadCount < 1) {328 threadCount = jobConfig.getExecutorCount();329 }330 timeoutMinutes = jobConfig.getTimeoutMinutes();331 }332 if (threadCount < 1) {333 threadCount = 1;334 }335 return features;336 }337 protected T forTempUse() {338 forTempUse = true;339 return (T) this;340 }341 //======================================================================342 //343 public T configDir(String dir) {344 this.configDir = dir;345 return (T) this;346 }347 public T karateEnv(String env) {348 this.env = env;349 return (T) this;350 }351 public T systemProperty(String key, String value) {352 if (systemProperties == null) {353 systemProperties = new HashMap();354 }355 systemProperties.put(key, value);356 return (T) this;357 }358 public T workingDir(File value) {...

Full Screen

Full Screen

Source:TestUtils.java Github

copy

Full Screen

...54 }55 public static ScenarioRuntime run(HttpClientFactory clientFactory, Feature feature) {56 Runner.Builder builder = Runner.builder();57 builder.clientFactory(clientFactory);58 String configDir = System.getProperty("karate.config.dir");59 if (configDir != null) {60 builder.configDir = configDir;61 }62 FeatureRuntime fr = FeatureRuntime.of(new Suite(builder), feature);63 ScenarioRuntime sr = new ScenarioIterator(fr).first();64 sr.run();65 return sr;66 }67 public static FeatureRuntime runFeature(String path) {68 return runFeature(path, null);69 }70 public static FeatureRuntime runFeature(String path, String configDir) {71 Map<String, DriverRunner> customDrivers = new HashMap<>();72 customDrivers.put(NoopDriver.DRIVER_TYPE, NoopDriver::start);73 Feature feature = Feature.read(path);74 Runner.Builder rb = Runner.builder();75 rb.features(feature);76 rb.configDir(configDir);77 rb.customDrivers(customDrivers);78 FeatureRuntime fr = FeatureRuntime.of(new Suite(rb), feature);79 fr.run();80 return fr;81 }82 public static class FeatureBuilder {83 private final List<String> list = new ArrayList();84 public FeatureBuilder() {85 list.add("Feature:");86 list.add("\n");87 }88 public static FeatureBuilder background(String... lines) {89 FeatureBuilder fb = new FeatureBuilder();90 if (lines.length > 0) {...

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1package com.intuit.karate;2import com.intuit.karate.core.Feature;3import com.intuit.karate.core.FeatureContext;4import com.intuit.karate.core.FeatureRuntime;5import com.intuit.karate.core.ScenarioContext;6import com.intuit.karate.core.ScenarioRuntime;7import com.intuit.karate.core.Scenario;8import com.intuit.karate.core.FeatureRuntime;9import com.intuit.karate.core.Feature;10import com.intuit.karate.core.FeatureContext;11import com.intuit.karate.core.ScenarioContext;12import com.intuit.karate.core.ScenarioRuntime;13import com.intuit.karate.core.Scenario;14import com.intuit.karate.core.FeatureContext;15import com.intuit.karate.core.FeatureRuntime;16import com.intuit.karate.core.ScenarioContext;17import com.intuit.karate.core.ScenarioRuntime;18import com.intuit.karate.core.Scenario;19import com.intuit.karate.core.FeatureRuntime;20import com.intuit.karate.core.Feature;21import com.intuit.karate.core.FeatureContext;22import com.intuit.karate.core.ScenarioContext;23import com.intuit.karate.core.ScenarioRuntime;24import com.intuit.karate.core.Scenario;25import com.intuit.karate.core.FeatureContext;26import com.intuit.karate.core.FeatureRuntime;27import com.intuit.karate.core.ScenarioContext;28import com.intuit.karate.core.ScenarioRuntime;29import com.intuit.karate.core.Scenario;30import com.intuit.karate.core.FeatureRuntime;31import com.intuit.karate.core.Feature;32import com.intuit.karate.core.FeatureContext;33import com.intuit.karate.core.ScenarioContext;34import com.intuit.karate.core.ScenarioRuntime;35import com.intuit.karate.core.Scenario;36import com.intuit.karate.core.FeatureContext;37import com.intuit.karate.core.FeatureRuntime;38import com.intuit.karate.core.ScenarioContext;39import com.intuit.karate.core.ScenarioRuntime;40import com.intuit.karate.core.Scenario;41import com.intuit.karate.core.FeatureRuntime;42import com.intuit.karate.core.Feature;43import com.intuit.karate.core.FeatureContext;44import com.intuit.karate.core.ScenarioContext;45import com.intuit.karate

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1import com.intuit.karate.Runner;2import java.io.File;3import java.util.ArrayList;4import java.util.List;5public class 4 {6 public static void main(String[] args) {7 Runner.Builder builder = Runner.builder();8 builder.configDir("src/test/java/MyModule");9 Runner runner = builder.build();10 runner.run();11 }12}13import com.intuit.karate.Runner;14import java.io.File;15import java.util.ArrayList;16import java.util.List;17public class 5 {18 public static void main(String[] args) {19 Runner.Builder builder = Runner.builder();20 builder.path("classpath:MyModule");21 Runner runner = builder.build();22 runner.run();23 }24}25import com.intuit.karate.Runner;26import java.io.File;27import java.util.ArrayList;28import java.util.List;29public class 6 {30 public static void main(String[] args) {31 Runner.Builder builder = Runner.builder();32 builder.path("file:src/test/java/MyModule");33 Runner runner = builder.build();34 runner.run();35 }36}37import com.intuit.karate.Runner;38import java.io.File;39import java.util.ArrayList;40import java.util.List;41public class 7 {42 public static void main(String[] args) {43 Runner.Builder builder = Runner.builder();44 builder.configDir("src/test/java/MyModule");45 builder.configDir("src/test/java/MyModule2");46 Runner runner = builder.build();47 runner.run();48 }49}50import com.intuit.karate.Runner;51import java.io.File;52import java.util.ArrayList;53import java.util.List;54public class 8 {55 public static void main(String[] args) {56 Runner.Builder builder = Runner.builder();57 builder.path("classpath:MyModule");58 builder.path("classpath:MyModule2");59 Runner runner = builder.build();60 runner.run();61 }62}

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1package com.intuit.karate;2import java.io.File;3import java.io.IOException;4import java.util.List;5import org.apache.commons.io.FileUtils;6public class 4 {7 public static void main(String[] args) throws IOException {8 File file = new File("src/test/java/com/intuit/karate");9 List<File> files = (List<File>) FileUtils.listFiles(file, new String[]{"feature"}, true);10 for (File f : files) {11 System.out.println(f);12 Runner.runFeature(f, configDir("src/test/java/com/intuit/karate"));13 }14 }15}16package com.intuit.karate;17import java.io.File;18import java.io.IOException;19import java.util.List;20import org.apache.commons.io.FileUtils;21public class 5 {22 public static void main(String[] args) throws IOException {23 File file = new File("src/test/java/com/intuit/karate");24 List<File> files = (List<File>) FileUtils.listFiles(file, new String[]{"feature"}, true);25 for (File f : files) {26 System.out.println(f);27 Runner.runFeature(f, configDir("src/test/java/com/intuit/karate"));28 }29 }30}31package com.intuit.karate;32import java.io.File;33import java.io.IOException;34import java.util.List;35import org.apache.commons.io.FileUtils;36public class 6 {37 public static void main(String[] args) throws IOException {38 File file = new File("src/test/java/com/intuit/karate");39 List<File> files = (List<File>) FileUtils.listFiles(file, new String[]{"feature"}, true);40 for (File f : files) {41 System.out.println(f);42 Runner.runFeature(f, configDir("src/test/java/com/intuit/karate"));43 }44 }45}46package com.intuit.karate;47import java.io.File;48import java.io.IOException;49import java.util.List;50import org.apache.commons.io.FileUtils;51public class 7 {52 public static void main(String[] args) throws IOException {

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1import com.intuit.karate.Runner;2import java.util.List;3import java.util.ArrayList;4import java.util.Map;5import java.util.HashMap;6public class 4 {7 public static void main(String[] args) {8 String karateOutputPath = "target/surefire-reports";9 Map<String, Object> config = new HashMap();10 config.put("karate.configDir", "classpath:com/mycompany/myproject");11 List<String> tags = new ArrayList();12 tags.add("~@ignore");13 Runner.parallel(getClass(), 5, karateOutputPath, config, tags);14 }15}16import com.intuit.karate.Runner;17import java.util.List;18import java.util.ArrayList;19import java.util.Map;20import java.util.HashMap;21public class 5 {22 public static void main(String[] args) {23 String karateOutputPath = "target/surefire-reports";24 Map<String, Object> config = new HashMap();25 config.put("karate.configDir", "classpath:com/mycompany/myproject");26 List<String> tags = new ArrayList();27 tags.add("~@ignore");28 Runner.parallel(getClass(), 5, karateOutputPath, config, tags);29 }30}31import com.intuit.karate.Runner;32import java.util.List;33import java.util.ArrayList;34import java.util.Map;35import java.util.HashMap;36public class 6 {37 public static void main(String[] args) {38 String karateOutputPath = "target/surefire-reports";39 Map<String, Object> config = new HashMap();40 config.put("karate.configDir", "classpath:com/mycompany/myproject");41 List<String> tags = new ArrayList();42 tags.add("~@ignore");43 Runner.parallel(getClass(),

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1import com.intuit.karate.Runner;2public class 4 {3 public static void main(String[] args) {4 Runner.Builder builder = new Runner.Builder();5 builder.configDir("src/test/java/4");6 Runner runner = builder.build();7 runner.run();8 }9}10 * def test = call read('classpath:4/4.js')11 * def result = test.test()12 * def result = test.test()13function() {14 return 'Hello World!';15}16import com.intuit.karate.Runner;17import com.intuit.karate.Results;18public class 4 {19 public static void main(String[] args) {20 Results results = Runner.path("classpath:4/4.feature").configDir("classpath:4/").parallel(1);21 }22}23 * def test = call read('classpath:4/4.js')24 * def result = test.test()25 * def result = test.test()26function() {27 return 'Hello World!';28}29import com.intuit.karate.Results;30import com.intuit.karate.Runner;31import org.junit.Test;32import static org.junit.Assert.*;33import java.util.ArrayList;34import java.util.Collection;35import java.util.List;36import org.junit.runner.RunWith;37import org.junit.runners.Parameterized;38import org.junit.runners.Parameterized.Parameters;39@RunWith(Parameterized.class)40public class TestRunner {41 private final String karateInputPath;42 public TestRunner(String karateInputPath) {

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1import com.intuit.karate.Runner;2import java.io.File;3public class 4 {4 public static void main(String[] args) {5 File file = Runner.configDir("classpath:config");6 System.out.println(file);7 }8}9import com.intuit.karate.Runner;10import java.io.File;11public class 4 {12 public static void main(String[] args) {13 File file = Runner.configDir("classpath:config");14 System.out.println(file);15 }16}

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1package com.intuit.karate;2import java.util.ArrayList;3import java.util.HashMap;4import java.util.List;5import java.util.Map;6import org.junit.Test;7public class TestRunner {8public void testParallel() {9Runner.Builder builder = Runner.path("classpath:com/intuit/karate/runner").tags("~@ignore");10Map<String, Object> config = new HashMap();11config.put("foo", "bar");12builder.configDir("src/test/java/com/intuit/karate/runner", config);13List<String> tags = new ArrayList();14tags.add("~@ignore");15builder.tags(tags);16builder.parallel(5);17Runner runner = builder.build();18runner.run();19}20}21package com.intuit.karate;22import java.util.ArrayList;23import java.util.HashMap;24import java.util.List;25import java.util.Map;26import org.junit.Test;27public class TestRunner {28public void testParallel() {29Runner.Builder builder = Runner.path("classpath:com/intuit/karate/runner").tags("~@ignore");30Map<String, Object> config = new HashMap();31config.put("foo", "bar");32builder.configDir("src/test/java/com/intuit/karate/runner", config);33List<String> tags = new ArrayList();34tags.add("~@ignore");35builder.tags(tags);36builder.parallel(5);37Runner runner = builder.build();38runner.run();39}40}41package com.intuit.karate;42import java.util.ArrayList;43import java.util.HashMap;44import java.util.List;45import java.util.Map;46import org.junit.Test;47public class TestRunner {48public void testParallel() {49Runner.Builder builder = Runner.path("classpath:com/intuit/karate/runner").tags("~@ignore");50Map<String, Object> config = new HashMap();51config.put("foo", "bar");52builder.configDir("src/test/java/com/intuit/karate/runner", config);53List<String> tags = new ArrayList();54tags.add("~@ignore");55builder.tags(tags);56builder.parallel(5);57Runner runner = builder.build();58runner.run();59}60}

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1import com.intuit.karate.Runner;2import java.io.File;3public class 4 {4 public static void main(String[] args) {5 File dir = new File("C:\\Users\\user\\Desktop\\karate\\karate-demo\\src\\test\\java\\com\\karate\\demo\\");6 String feature = "demo.feature";7 Runner.runFeature(dir, feature);8 }9}10import com.intuit.karate.Runner;11import java.io.File;12public class 5 {13 public static void main(String[] args) {14 File dir = new File("C:\\Users\\user\\Desktop\\karate\\karate-demo\\src\\test\\java\\com\\karate\\demo\\");15 String feature = "demo.feature";16 String tags = "@demo";17 Runner.runFeature(dir, feature, tags);18 }19}20import com.intuit.karate.Runner;21import java.io.File;22public class 6 {23 public static void main(String[] args) {24 File dir = new File("C:\\Users\\user\\Desktop\\karate\\karate-demo\\src\\test\\java\\com\\karate\\demo\\");25 String feature = "demo.feature";

Full Screen

Full Screen

configDir

Using AI Code Generation

copy

Full Screen

1public class 4 {2 public static void main(String[] args) {3 Runner runner = Runner.path("classpath:karate-config.js")4 .configDir("classpath:config");5 KarateStats stats = runner.run();6 generateReport("target/surefire-reports");7 assertTrue("there are scenario failures", stats.getFailCount() == 0);8 }9}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful