I’ve been in this problem for two days.
The brazilian electoral authority makes this website available for consultation on the results of each ballot box in Brazil.
I want to set up a parallel counting structure to check if there is a discrepancy with photographs taken by voters on election day.
It is a work of public utility.
I did the program below, but the nested structure of FOR isn’t working as expected from a compiler.
If I delete all FORs and leave only the last one, the program automatically moves from one value to the next and writes the html file correctly.
When I place any other FOR, the loop is lost.
Code:
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import static com.kms.katalon.core.testobject.ObjectRepository.findWindowsObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.windows.keyword.WindowsBuiltinKeywords as Windows
import com.kms.katalon.core.webui.driver.DriverFactory as DriverFactory
import org.openqa.selenium.WebDriver as WebDriver
import internal.GlobalVariable as GlobalVariable
import org.openqa.selenium.By
import org.openqa.selenium.support.ui.Select
import com.kms.katalon.core.webui.driver.DriverFactory
WebUI.openBrowser(‘’)
WebUI.navigateToUrl(‘http://inter04.tse.jus.br/ords/eletse/f?p=111:1::PESQUISAR:NO:::’)ComboTurno = ‘Page_Boletim de Urna na WEB/select_12’
ComboUF = ‘Object Repository/Page_Boletim de Urna na WEB/select_UFACALAMAPBACEDFESGOMAMGMSMTPAPBPEPI_a973a7’
ComboMunicipio = ‘Object Repository/Page_Boletim de Urna na WEB/select_Selecione um municpio localidadeACR_454ffd’
ComboZona = ‘Object Repository/Page_Boletim de Urna na WEB/select_–0008’
ComboSeção = ‘Object Repository/Page_Boletim de Urna na WEB/select_–0008000900640072007700830084008500_2e62b7’
BotãoPesquisar = ‘Object Repository/Page_Boletim de Urna na WEB/span_Pesquisar’//Primeiros valores
WebUI.selectOptionByIndex(findTestObject(ComboTurno), 0)
WebUI.selectOptionByIndex(findTestObject(ComboUF), 1)
WebUI.selectOptionByIndex(findTestObject(ComboMunicipio), 1)
WebUI.selectOptionByIndex(findTestObject(ComboZona), 1)
WebUI.selectOptionByIndex(findTestObject(ComboSeção), 1)//Primeira pesquisa
WebUI.click(findTestObject(BotãoPesquisar))
WebUI.waitForPageLoad(0)//alimenta quantidades em cada combo
int QtdTurno = WebUI.getNumberOfTotalOption(findTestObject(ComboTurno))
println(QtdTurno)
int QtdUF = WebUI.getNumberOfTotalOption(findTestObject(ComboUF))
println(QtdUF)
int QtdMunicipio = WebUI.getNumberOfTotalOption(findTestObject(ComboMunicipio))
println(QtdMunicipio)
int QtdZona = WebUI.getNumberOfTotalOption(findTestObject(ComboZona))
println(QtdZona)
int QtdSeção = WebUI.getNumberOfTotalOption(findTestObject(ComboSeção))
println(QtdSeção)//Ninho de for para percorrer todas as opções
for (int T = 0; T < (QtdTurno-1); T++){
WebUI.selectOptionByIndex(findTestObject(ComboTurno), T);
for (int U = 1; U < (QtdUF-1); U++){
WebUI.selectOptionByIndex(findTestObject(ComboUF), U);
for (int M = 1; M < (QtdMunicipio-1); M++) {
WebUI.selectOptionByIndex(findTestObject(ComboMunicipio), M);
for (int Z = 1; Z < (QtdZona-1); Z++) {
WebUI.selectOptionByIndex(findTestObject(ComboZona), Z);
for (int S = 1; S < (QtdSeção-1); S++) {
WebUI.selectOptionByIndex(findTestObject(ComboSeção), S)
WebUI.click(findTestObject(BotãoPesquisar));
WebUI.waitForPageLoad(0);
//Gravando o arquivo a partir do valor selecionado nas combos
Select selectTurno = new Select(DriverFactory.getWebDriver().findElement(By.xpath("//select[@id='P1_TURNO']")))
Turno = selectTurno.getFirstSelectedOption().getText()
Select selectUF = new Select(DriverFactory.getWebDriver().findElement(By.xpath("//select[@id='P1_UF']")))
UF = selectUF.getFirstSelectedOption().getText()
Select selectMUN = new Select(DriverFactory.getWebDriver().findElement(By.xpath("//select[@id='P1_MUN']")))
Municipio = selectMUN.getFirstSelectedOption().getText()
Select selectZONA = new Select(DriverFactory.getWebDriver().findElement(By.xpath("//select[@id='P1_ZONA']")))
Zona = selectZONA.getFirstSelectedOption().getText()
Select selectSECAO = new Select(DriverFactory.getWebDriver().findElement(By.xpath("//select[@id='P1_SECAO']")))
Seção = selectSECAO.getFirstSelectedOption().getText()
String NomeDoArquivo = ('E:/TSE/2018/TSE2018_'+
'Turno-'+Turno+
'_UF-'+UF+
'_Municipio-'+Municipio+
'_Zona-'+Zona+
'_Seção-'+Seção+
'.html')
WebDriver driver = DriverFactory.getWebDriver()
def src = driver.getPageSource()
def Arquivo = new File(NomeDoArquivo)
Arquivo.write(src)
}
}
}
}
}
//WebUI.closeBrowser()
Console
2020-11-25 14:00:49.495 INFO c.k.katalon.core.main.TestCaseExecutor - --------------------
2020-11-25 14:00:49.511 INFO c.k.katalon.core.main.TestCaseExecutor - START Test Cases/TSE 2018
2020-11-25 14:00:54.171 DEBUG testcase.TSE 2018 - 1: openBrowser(“”)
2020-11-25 14:00:55.391 INFO c.k.k.core.webui.driver.DriverFactory - Starting ‘Firefox’ driver
nov 25, 2020 2:00:55 PM org.openqa.selenium.remote.DesiredCapabilities firefox
INFORMAÇÕES: Usingnew FirefoxOptions()
is preferred toDesiredCapabilities.firefox()
2020-11-25 14:00:55.798 INFO c.k.k.core.webui.driver.DriverFactory - Action delay is set to 0 milliseconds
1606320060493 mozrunner::runner INFO Running command: “C:\Program Files\Mozilla Firefox\firefox.exe” “-marionette” “-foreground” “-no-remote” “-profile” “C:\Users\Laudelino\AppData\Local\Temp\rust_mozprofile.aKcwnv9g6VjI”
Can’t find symbol ‘eglSwapBuffersWithDamageEXT’.
Can’t find symbol ‘eglSetDamageRegionKHR’.
JavaScript error: resource://gre/modules/XULStore.jsm, line 66: Error: Can’t find profile directory.
1606320067536 Marionette INFO Listening on port 57985
1606320067808 Marionette WARN TLS certificate errors will be ignored for this session
1606320067809 Marionette INFO Proxy settings initialised: {“proxyType”:“direct”}
nov 25, 2020 2:01:07 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFORMAÇÕES: Detected dialect: W3C
2020-11-25 14:01:08.179 INFO c.k.k.core.webui.driver.DriverFactory - sessionId = a319f07b-c32c-4c57-bc6d-7698ee55b689
2020-11-25 14:01:08.217 INFO c.k.k.core.webui.driver.DriverFactory - browser = Firefox 83.0
2020-11-25 14:01:08.217 INFO c.k.k.core.webui.driver.DriverFactory - platform = Windows 10
2020-11-25 14:01:08.218 INFO c.k.k.core.webui.driver.DriverFactory - seleniumVersion = 3.141.59
2020-11-25 14:01:08.221 INFO c.k.k.core.webui.driver.DriverFactory - proxyInformation = ProxyInformation { proxyOption=NO_PROXY, proxyServerType=HTTP, username=, password=********, proxyServerAddress=, proxyServerPort=0, executionList=“”, isApplyToDesiredCapabilities=true }
2020-11-25 14:01:08.260 DEBUG testcase.TSE 2018 - 2: navigateToUrl(“http://inter04.tse.jus.br/ords/eletse/f?p=111:1::PESQUISAR:NO:::”)
2020-11-25 14:01:09.207 DEBUG testcase.TSE 2018 - 3: ComboTurno = “Page_Boletim de Urna na WEB/select_12”
2020-11-25 14:01:09.209 DEBUG testcase.TSE 2018 - 4: ComboUF = “Object Repository/Page_Boletim de Urna na WEB/select_UFACALAMAPBACEDFESGOMAMGMSMTPAPBPEPI_a973a7”
2020-11-25 14:01:09.210 DEBUG testcase.TSE 2018 - 5: ComboMunicipio = “Object Repository/Page_Boletim de Urna na WEB/select_Selecione um municpio localidadeACR_454ffd”
2020-11-25 14:01:09.212 DEBUG testcase.TSE 2018 - 6: ComboZona = “Object Repository/Page_Boletim de Urna na WEB/select_–0008”
2020-11-25 14:01:09.213 DEBUG testcase.TSE 2018 - 7: ComboSeção = “Object Repository/Page_Boletim de Urna na WEB/select_–0008000900640072007700830084008500_2e62b7”
2020-11-25 14:01:09.214 DEBUG testcase.TSE 2018 - 8: BotãoPesquisar = “Object Repository/Page_Boletim de Urna na WEB/span_Pesquisar”
2020-11-25 14:01:09.215 DEBUG testcase.TSE 2018 - 9: selectOptionByIndex(findTestObject(ComboTurno), 0)
2020-11-25 14:01:10.838 DEBUG testcase.TSE 2018 - 10: selectOptionByIndex(findTestObject(ComboUF), 1)
2020-11-25 14:01:12.355 DEBUG testcase.TSE 2018 - 11: selectOptionByIndex(findTestObject(ComboMunicipio), 1)
2020-11-25 14:01:13.814 DEBUG testcase.TSE 2018 - 12: selectOptionByIndex(findTestObject(ComboZona), 1)
2020-11-25 14:01:15.302 DEBUG testcase.TSE 2018 - 13: selectOptionByIndex(findTestObject(ComboSeção), 1)
2020-11-25 14:01:17.178 DEBUG testcase.TSE 2018 - 14: click(findTestObject(BotãoPesquisar))
2020-11-25 14:01:18.271 DEBUG testcase.TSE 2018 - 15: waitForPageLoad(0)
2020-11-25 14:01:18.497 WARN c.kms.katalon.core.helper.KeywordHelper - Timeout ‘0’ is invalid. Using default page load timeout: ‘30’
2020-11-25 14:01:18.764 DEBUG testcase.TSE 2018 - 16: QtdTurno = getNumberOfTotalOption(findTestObject(ComboTurno))
2020-11-25 14:01:19.666 DEBUG testcase.TSE 2018 - 17: println(QtdTurno)
> 2
2020-11-25 14:01:19.674 DEBUG testcase.TSE 2018 - 18: QtdUF = getNumberOfTotalOption(findTestObject(ComboUF))
2020-11-25 14:01:20.569 DEBUG testcase.TSE 2018 - 19: println(QtdUF)
> 29
2020-11-25 14:01:20.570 DEBUG testcase.TSE 2018 - 20: QtdMunicipio = getNumberOfTotalOption(findTestObject(ComboMunicipio))
2020-11-25 14:01:21.456 DEBUG testcase.TSE 2018 - 21: println(QtdMunicipio)
> 23
2020-11-25 14:01:21.457 DEBUG testcase.TSE 2018 - 22: QtdZona = getNumberOfTotalOption(findTestObject(ComboZona))
2020-11-25 14:01:22.332 DEBUG testcase.TSE 2018 - 23: println(QtdZona)
> 2
2020-11-25 14:01:22.333 DEBUG testcase.TSE 2018 - 24: QtdSeção = getNumberOfTotalOption(findTestObject(ComboSeção))
2020-11-25 14:01:23.220 DEBUG testcase.TSE 2018 - 25: println(QtdSeção)
> 42
2020-11-25 14:01:23.221 DEBUG testcase.TSE 2018 - 26: for ([T = 0, T < QtdTurno - 1, (T++)])
2020-11-25 14:01:23.222 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboTurno), T)
2020-11-25 14:01:24.404 DEBUG testcase.TSE 2018 - 2: for ([U = 1, U < QtdUF - 1, (U++)])
2020-11-25 14:01:24.405 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboUF), U)
2020-11-25 14:01:25.555 DEBUG testcase.TSE 2018 - 2: for ([M = 1, M < QtdMunicipio - 1, (M++)])
2020-11-25 14:01:25.556 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboMunicipio), M)
2020-11-25 14:01:26.761 DEBUG testcase.TSE 2018 - 2: for ([Z = 1, Z < QtdZona - 1, (Z++)])
2020-11-25 14:01:26.762 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboMunicipio), M)
2020-11-25 14:01:28.187 DEBUG testcase.TSE 2018 - 2: for ([Z = 1, Z < QtdZona - 1, (Z++)])
2020-11-25 14:01:28.188 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboMunicipio), M)
2020-11-25 14:01:29.604 DEBUG testcase.TSE 2018 - 2: for ([Z = 1, Z < QtdZona - 1, (Z++)])
2020-11-25 14:01:29.605 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboMunicipio), M)
2020-11-25 14:01:31.478 DEBUG testcase.TSE 2018 - 2: for ([Z = 1, Z < QtdZona - 1, (Z++)])
2020-11-25 14:01:31.479 DEBUG testcase.TSE 2018 - 1: selectOptionByIndex(findTestObject(ComboMunicipio), M)