Development

I am trying to learn the Jmeter and performing simple login test for a test website. but I am keep on getting following error,
Thread Name: Thread Group 1-1
Sample Start: 2019-09-05 18:56:28 NZST
Load time: 40
Connect Time: 0
Latency: 40
Size in bytes: 237
Sent bytes:757
Headers size in bytes: 237
Body size in bytes: 0
Sample Count: 1
Error Count: 1
Data type (“text”|”bin”|””):
Response code: 401
Response message: Unauthorized

Response headers:
HTTP/1.1 401 Unauthorized
Date: Thu, 05 Sep 2019 06:56:28 GMT
Server: Kestrel
Content-Length: 0
Vary: Origin
WWW-Authenticate: Bearer
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: http://www.skillswap.pro

HTTPSampleResult fields:
ContentType:
DataEncoding: null

I’m testing an API and I’m looking to define my payload using classes so that my program can then deserialize/serialize into any format (namely XML in my case). Below is an example of the payload:
<Order>
<BillingAddress>
<AddressLine1></AddressLine1>
<AddressLine2></AddressLine2>
<City></City>
</BillingAddress>
<Items>
<Item IsKit=”false”>
<CountryVATRate></CountryVATRate>
<Group></Group>
<Reference></Reference>
</Item>
<Item IsKit=”false”>
<CountryVATRate>0.25</CountryVATRate>
<Group>5360693120</Group>
<Reference>5360693120</Reference>
</Item>
</Items>
<OrderAmount>35</OrderAmount>
<TimeStamp>2017-03-30 00:00:00.102</TimeStamp>
</Order>

So my thinking is that I would have an overall Order class which looks something like the below
public class Order()
{
BillingAddress bAddr; //another class
List Items;
double OrderAmount;
DateTime TimeStamp;
}

What I am trying to work out is the best way of setting up my framework so that in the example of the BillingAddress class I can set up a series of properties e.g. AddressLine1/AddressLine1 etc which can then be called when I run the test
Any advice on how to structure the test framework would be most appreciated

DesiredCapabilities capabillities = DesiredCapabilities.edge();
capabillities.setBrowserName(BrowserType.EDGE);

capabillities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
capabillities.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true);
capabillities.setCapability(CapabilityType.SUPPORTS_JAVASCRIPT , true);
capabillities.setPlatform(Platform.WIN10);
capabillities.setCapability(CapabilityType.BROWSER_VERSION, “latest”);

WebDriver driver = null;
List<String> displayedList = new ArrayList<String>();

try {
System.out.println(“STARTED”);

driver = new RemoteWebDriver(new URL(“url”), capabillities);
driver.get(“https://url”);

System.out.println(“OPENED”);

I am getting the below Error:
Exception in thread “main” org.openqa.selenium.SessionNotCreatedException: Unable to create session from {
“desiredCapabilities”: {
“acceptSslCerts”: true,
“browserVersion”: “latest”,
“browserName”: “MicrosoftEdge”,
“javascriptEnabled”: true,
“ignoreProtectedModeSettings”: true,
“version”: “”,
“platform”: “WIN10”
},
“capabilities”: {
“firstMatch”: [
{
“browserName”: “MicrosoftEdge”,
“browserVersion”: “latest”,
“platformName”: “win10”
}
]
}
}
Build info: version: ‘3.141.0’, revision: ‘2ecb7d9a’, time: ‘2018-10-31T20:22:52’
System info: host: ‘VDI-PR-E0042’, ip: ‘10.93.173.183’, os.name: ‘Windows 10’, os.arch: ‘x86’, os.version: ‘10.0’, java.version: ‘1.8.0_171’
Driver info: driver.version: unknown
Command duration or timeout: 1.35 seconds
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$new$0(JsonWireProtocolResponse.java:53)
at org.openqa.selenium.remote.JsonWireProtocolResponse.lambda$getResponseFunction$2(JsonWireProtocolResponse.java:91)
at org.openqa.selenium.remote.ProtocolHandshake.lambda$createSession$0(ProtocolHandshake.java:122)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:150)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:543)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:125)
at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:73)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:136)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:548)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:212)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:143)
at Test.TestRemoteGrid.main(TestRemoteGrid.java:60)