Qaf: Implementando o Excel Test Factory

Criado em 29 mai. 2018  ·  9Comentários  ·  Fonte: qmetry/qaf

Versão QAF

Nota: apenas a versão mais recente é compatível

Passos para reproduzir

1. Create a xls file under scenario
2.In the config file use the ExcelTestFactory class
3.Execute

Comportamento esperado

Deve ser executado com sucesso

Comportamento real

jxl.read.biff.BiffException: Incapaz de reconhecer o fluxo OLE
em jxl.read.biff.CompoundFile. (CompoundFile.java:116)
em jxl.read.biff.File. (Arquivo.java:127)
em jxl.Workbook.getWorkbook (Workbook.java:221)
em jxl.Workbook.getWorkbook (Workbook.java:198)
em com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parseFile (ExcelScenarioFileParser.java:46)
em com.qmetry.qaf.automation.step.client.excel.ExcelScenarioFileParser.parse (ExcelScenarioFileParser.java:60)
em com.qmetry.qaf.automation.step.client.ScenarioFactory.process (ScenarioFactory.java:110)
em com.qmetry.qaf.automation.step.client.ScenarioFactory.getTestsFromFile (ScenarioFactory.java:82)
em sun.reflect.NativeMethodAccessorImpl.invoke0 (método nativo)
em sun.reflect.NativeMethodAccessorImpl.invoke (fonte desconhecida)
em sun.reflect.DelegatingMethodAccessorImpl.invoke (fonte desconhecida)
em java.lang.reflect.Method.invoke (fonte desconhecida)
em org.testng.internal.FactoryMethod.invoke (FactoryMethod.java:90)
em org.testng.internal.TestNGClassFinder. (TestNGClassFinder.java:150)
em org.testng.TestRunner.initMethods (TestRunner.java:451)
em org.testng.TestRunner.init (TestRunner.java:270)
em org.testng.TestRunner.init (TestRunner.java:240)
em org.testng.TestRunner. (TestRunner.java:192)
em org.testng.remote.support.RemoteTestNG6_9_10 $ 1.newTestRunner (RemoteTestNG6_9_10.java:29)
em org.testng.remote.support.RemoteTestNG6_9_10 $ DelegatingTestRunnerFactory.newTestRunner (RemoteTestNG6_9_10.java:65)
em org.testng.SuiteRunner $ ProxyTestRunnerFactory.newTestRunner (SuiteRunner.java:594)
em org.testng.SuiteRunner.init (SuiteRunner.java:168)
em org.testng.SuiteRunner. (SuiteRunner.java:117)
em org.testng.TestNG.createSuiteRunner (TestNG.java:1319)
em org.testng.TestNG.createSuiteRunners (TestNG.java:1306)
em org.testng.TestNG.runSuitesLocally (TestNG.java:1160)
em org.testng.TestNG.run (TestNG.java:1064)
em org.testng.remote.AbstractRemoteTestNG.run (AbstractRemoteTestNG.java:114)
em org.testng.remote.RemoteTestNG.initAndRun (RemoteTestNG.java:251)
em org.testng.remote.RemoteTestNG.main (RemoteTestNG.java:77)

O problema pode ser reproduzido no runner?

  • [x] Eclipse

Amostra de caso de teste

Arquivo de configuração:



</classes>

help wanted kwd-excel

Todos 9 comentários

Você pode atualizar o código do arquivo de configuração e fornecer o arquivo excel que você está usando?

Arquivo de configuração:

<test name="Test" enabled="true">
<parameter name="scenario.file.loc" value="./scenarios/Platform_Automation/test.xls"></parameter>
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.excel.ExcelTestFactory" />



    </classes>
</test>

Folha de Excel:

Não consigo anexar a folha de excel. Mas abaixo está o conteúdo da planilha do excel e o nome da planilha é test.xls.

CENÁRIO: batchprocessor | | | | | |
- | - | - | - | - | - | -
META-DATA: {"descrição": "Verificar", "grupos": [FUMAR "," Regressão "]," autor ":" Arun "}
| | | | | | | | |
| Dado executar '$ {unix.command.ondot-status}' em 'virtual.machine' | |
| Então ondot-status para validação ativa | | | | |
END | | | | | | | | |

O formato que você definiu para o Excel é um formato incorreto.
Abaixo está o teste de trabalho e o arquivo excel.

<test name="Test" enabled="true">
    <parameter name="scenario.file.loc" value="./scenarios/test.xls"></parameter>
    <classes>
        <class name="com.qmetry.qaf.automation.step.client.excel.ExcelTestFactory" />
    </classes>
</test>

CENÁRIO | SearchProduct | {"descrição": "verifique se o usuário pode pesquisar o produto usando a caixa de texto de pesquisa", "grupos": ["SMOKE"]}
- | - | -
launchApp | |
searchForProduct | ["Camisa"] |
END | |

Aqui, a primeira coluna deve ser o nome da etapa (não a descrição) e a segunda coluna é a lista de argumentos.
E a implementação da etapa é

@QAFTestStep(description = "I search for product {0}")
public void searchForProduct(String product) {
    //to-do
}

Mudei o formato do Excel, mas ainda estou recebendo o mesmo erro. Temos um projeto de amostra para isso?

Cenário | Teste | {"descrição": "verifique se o usuário pode pesquisar o produto usando a caixa de texto de pesquisa", "grupos": ["SMOKE"]}
- | - | -
correr | ["Olá"] |
END | |

Além disso, o que devo fazer se quiser passar várias entradas :)

Desde já, obrigado :)

Parece que o seu Excel não está no formato xls adequado.

Obrigado Amit :) Correto. Eu estava usando um arquivo corrompido :) Muito obrigado.

Além disso, eu uso uma entrada no arquivo excel e meu método usa um parâmetro. Mas o input que estou dando na ficha não está sendo aprovado.

Você poderia compartilhar a definição de etapa para a planilha do Excel acima que você compartilhou? :)

Eu atualizei a implementação da etapa no comentário acima. Você pode consultar isso.

Obrigado :) Funcionou :) Na verdade, copiei e colei o cenário bdd na planilha do Excel :) e li os dados do xml e do arquivo de propriedades :)

Feliz :) Obrigado pela ajuda Amit :)

Oi Amit,

Eu tenho esse cenário. Preciso passar JSONArray ou JsonObject como entrada. Estou usando ExcelTestFactory.

Abaixo está meu exemplo de entrada:

["nodename", ["a", "b", "c"]]

Eu quero que o mundo inteiro seja lido. QAF não consegue ler tudo como um todo, pois há vírgulas.

Você pode me dizer como posso resolver isso :)

Muito obrigado antecipadamente pela ajuda.

Além disso, não posso armazenar esses valores em um arquivo externo, pois a entrada vem de uma equipe externa.

Atenciosamente,
CK

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

Nandesh7 picture Nandesh7  ·  8Comentários

Rupak-66 picture Rupak-66  ·  12Comentários

raviguptasmarsh picture raviguptasmarsh  ·  8Comentários

cjayswal picture cjayswal  ·  17Comentários

APrem picture APrem  ·  7Comentários