Project Number Date
ApolloFullRunnerReport master.346 19 mar 2021, 03:46

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Base options of periodic transport - create, edit, delete etc. 21 6 40 0 0 67 0 6 6 4m 33s 745ms Failed
Feature Base options of periodic transport - create, edit, delete etc.
Scenario Outline Create time windows of periodic transport
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 104ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 115ms
And Set "transport" inputs from JSON file "CREATE_DELIVERY" "super-admin-neuca" 009ms
And Go to new transport "DELIVERY" 15s 302ms
And Fill transport form 42s 510ms
java.lang.AssertionError: Nie można wypełnić pola warehouse-zone, ponieważ nie udało się go znaleźć w formularzu
	at org.junit.Assert.fail(Assert.java:88)
	at CucumberTests.Transport.Transport.fillForm(Transport.java:152)
	at CucumberTests.Transport.CreateTransport.fillTransportForm(CreateTransport.java:170)
	at ✽.Fill transport form(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:9)
And Select option of periodic transport and fill settings "DAILY" 000ms
And Click "save-transport" save button and wait for form to disappear 000ms
Then Set advice window in schedule in "0" days 000ms
And Check is transport created in schedule and set transport id 000ms
And Set week view 000ms
Then Wait for schedule update 000ms
Then Check if periodic transport for "DAILY" is created correctly 000ms
After Hooks.deleteAllTransports() 1m 15s 571ms
Scenario Outline Create time windows of periodic transport
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 073ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 102ms
And Set "transport" inputs from JSON file "CREATE_DELIVERY" "super-admin-neuca" 001ms
And Go to new transport "DELIVERY" 15s 320ms
And Fill transport form 42s 492ms
java.lang.AssertionError: Nie można wypełnić pola warehouse-zone, ponieważ nie udało się go znaleźć w formularzu
	at org.junit.Assert.fail(Assert.java:88)
	at CucumberTests.Transport.Transport.fillForm(Transport.java:152)
	at CucumberTests.Transport.CreateTransport.fillTransportForm(CreateTransport.java:170)
	at ✽.Fill transport form(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:9)
And Select option of periodic transport and fill settings "WEEKLY" 000ms
And Click "save-transport" save button and wait for form to disappear 000ms
Then Set advice window in schedule in "0" days 000ms
And Check is transport created in schedule and set transport id 000ms
And Set week view 000ms
Then Wait for schedule update 000ms
Then Check if periodic transport for "WEEKLY" is created correctly 000ms
After Hooks.deleteAllTransports() 1m 15s 635ms
Scenario Outline Create time windows of periodic transport
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 128ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 064ms
And Set "transport" inputs from JSON file "CREATE_DELIVERY" "super-admin-neuca" 001ms
And Go to new transport "DELIVERY" 15s 299ms
And Fill transport form 42s 515ms
java.lang.AssertionError: Nie można wypełnić pola warehouse-zone, ponieważ nie udało się go znaleźć w formularzu
	at org.junit.Assert.fail(Assert.java:88)
	at CucumberTests.Transport.Transport.fillForm(Transport.java:152)
	at CucumberTests.Transport.CreateTransport.fillTransportForm(CreateTransport.java:170)
	at ✽.Fill transport form(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:9)
And Select option of periodic transport and fill settings "MONTHLY" 000ms
And Click "save-transport" save button and wait for form to disappear 000ms
Then Set advice window in schedule in "0" days 000ms
And Check is transport created in schedule and set transport id 000ms
And Set week view 000ms
Then Wait for schedule update 000ms
Then Check if periodic transport for "MONTHLY" is created correctly 000ms
After Hooks.deleteAllTransports() 1m 15s 549ms
Scenario Outline Edition data of periodic transport from order form
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 114ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 073ms
And Create periodic transport "CREATE_PERIODIC_TR" by JSON file as "super-admin-neuca" 485ms
When Go to "WAREHOUSE_TAB" 30s 667ms
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //button[@data-btn-name='DAY'] (tried for 30 second(s) with 500 MILLISECONDS interval)
	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:82)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:231)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at ✽.Go to "WAREHOUSE_TAB"(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:29)
Caused by: org.openqa.selenium.NoSuchElementException: Cannot locate an element using By.xpath: //button[@data-btn-name='DAY']
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
System info: host: 'ns3112421', ip: '94.23.29.183', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-136-generic', java.version: '1.8.0_201'
Driver info: driver.version: unknown
	at org.openqa.selenium.support.ui.ExpectedConditions.lambda$findElement$0(ExpectedConditions.java:882)
	at java.util.Optional.orElseThrow(Optional.java:290)
	at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:881)
	at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:43)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:205)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:201)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:57)
	at cucumber.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:63)
	at cucumber.runner.TestStep.run(TestStep.java:49)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:43)
	at cucumber.runner.TestCase.run(TestCase.java:45)
	at cucumber.runner.Runner.runPickle(Runner.java:40)
	at cucumber.runtime.junit.PickleRunners$WithStepDescriptions.run(PickleRunners.java:97)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:73)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:122)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:64)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:131)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
And Set week view 000ms
And Select warehouse "Katowice" 000ms
And Open the middle periodic transport form from the schedule view 000ms
Then Change filled value in transport details "number-of-pallets-step-0" "number" "18" "0" 000ms
And Click save and-close and react on alert "dismiss" 000ms
And Check if rest of periodic transports is react correctly "noEditing" 000ms
After Hooks.deleteAllTransports() 1m 16s 064ms
Scenario Outline Edition data of periodic transport from order form
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 115ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 084ms
And Create periodic transport "CREATE_PERIODIC_TR" by JSON file as "super-admin-neuca" 383ms
When Go to "WAREHOUSE_TAB" 30s 666ms
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //button[@data-btn-name='DAY'] (tried for 30 second(s) with 500 MILLISECONDS interval)
	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:82)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:231)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at ✽.Go to "WAREHOUSE_TAB"(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:29)
Caused by: org.openqa.selenium.NoSuchElementException: Cannot locate an element using By.xpath: //button[@data-btn-name='DAY']
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
System info: host: 'ns3112421', ip: '94.23.29.183', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-136-generic', java.version: '1.8.0_201'
Driver info: driver.version: unknown
	at org.openqa.selenium.support.ui.ExpectedConditions.lambda$findElement$0(ExpectedConditions.java:882)
	at java.util.Optional.orElseThrow(Optional.java:290)
	at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:881)
	at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:43)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:205)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:201)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:57)
	at cucumber.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:63)
	at cucumber.runner.TestStep.run(TestStep.java:49)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:43)
	at cucumber.runner.TestCase.run(TestCase.java:45)
	at cucumber.runner.Runner.runPickle(Runner.java:40)
	at cucumber.runtime.junit.PickleRunners$WithStepDescriptions.run(PickleRunners.java:97)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:73)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:122)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:64)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:131)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
And Set week view 000ms
And Select warehouse "Katowice" 000ms
And Open the middle periodic transport form from the schedule view 000ms
Then Change filled value in transport details "number-of-pallets-step-0" "number" "18" "0" 000ms
And Click save and-close and react on alert "accept" 000ms
And Check if rest of periodic transports is react correctly "editing" 000ms
After Hooks.deleteAllTransports() 1m 16s 112ms
Scenario Outline Designations of periodic transports
Steps
Given Login as "neuca-admin" and set token of apiUsername "super-admin-neuca" 1s 105ms
And Set access to periodic advice by API for company "SET_PERIODIC_TRANSPORT" as "super-admin-neuca" 073ms
And Create periodic transport "CREATE_PERIODIC_TR" by JSON file as "super-admin-neuca" 295ms
When Go to "WAREHOUSE_TAB" 30s 638ms
org.openqa.selenium.TimeoutException: Expected condition failed: waiting for visibility of element located by By.xpath: //button[@data-btn-name='DAY'] (tried for 30 second(s) with 500 MILLISECONDS interval)
	at org.openqa.selenium.support.ui.WebDriverWait.timeoutException(WebDriverWait.java:82)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:231)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at ✽.Go to "WAREHOUSE_TAB"(file:Features/Atom/Transport/PeriodicTransport/PeriodicTransport.feature:47)
Caused by: org.openqa.selenium.NoSuchElementException: Cannot locate an element using By.xpath: //button[@data-btn-name='DAY']
For documentation on this error, please visit: http://seleniumhq.org/exceptions/no_such_element.html
Build info: version: '3.6.0', revision: '6fbf3ec767', time: '2017-09-27T15:28:36.4Z'
System info: host: 'ns3112421', ip: '94.23.29.183', os.name: 'Linux', os.arch: 'amd64', os.version: '4.15.0-136-generic', java.version: '1.8.0_201'
Driver info: driver.version: unknown
	at org.openqa.selenium.support.ui.ExpectedConditions.lambda$findElement$0(ExpectedConditions.java:882)
	at java.util.Optional.orElseThrow(Optional.java:290)
	at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:881)
	at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:43)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:205)
	at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:201)
	at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:208)
	at Pages.BasePage.checkElementIsVisible(BasePage.java:159)
	at CucumberTests.BaseTest.goToTab(BaseTest.java:93)
	at CucumberTests.Transport.CreateTransport.GoToTab(CreateTransport.java:193)
	at sun.reflect.GeneratedMethodAccessor215.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:26)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:20)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:57)
	at cucumber.runner.PickleStepDefinitionMatch.runStep(PickleStepDefinitionMatch.java:50)
	at cucumber.runner.TestStep.executeStep(TestStep.java:63)
	at cucumber.runner.TestStep.run(TestStep.java:49)
	at cucumber.runner.PickleStepTestStep.run(PickleStepTestStep.java:43)
	at cucumber.runner.TestCase.run(TestCase.java:45)
	at cucumber.runner.Runner.runPickle(Runner.java:40)
	at cucumber.runtime.junit.PickleRunners$WithStepDescriptions.run(PickleRunners.java:97)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:68)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:23)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:73)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:122)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:64)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at cucumber.api.junit.Cucumber$1.evaluate(Cucumber.java:131)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)
And Set week view 000ms
And Select warehouse "Katowice" 000ms
And Open the middle periodic transport form from the schedule view 000ms
Then Check if designation of periodic transport in transport form is correct 000ms
When Go to "TRANSPORT_TABLE" 000ms
And Wait until all periodic transports will be visible in transport table 000ms
Then Check if designation of periodic transport in transport table is correct 000ms
After Hooks.deleteAllTransports() 1m 15s 998ms