Solucionado (ver solução)
Solucionado
(ver solução)
8
respostas

Erro no FakeLibrary. No keyword with name 'FakerLibrary.First Name' found.

Já tentei todos os passos descritos no fórum e não funcionou

Já tentei:

  • pip install robotframework-faker
  • pip install setuptools
  • palavra-chave FakerLibrary.Faker
  • reinstalei o python e fiz upgrade
  • reiniciei o computador

O que eu escrevi no vs: arquivo main.robot

*** Settings ***
Library    SeleniumLibrary
Library    FakerLibrary    Locale=pt_BR

Resource    shared/setup_teardown.robot
Resource    pages/cadastro.robot

arquivo setup_teardown.robot

*** Settings ***
Resource          ../main.robot

*** Keywords ***
Dado que eu acesse o Organo
    Open Browser    url=http://localhost:3000/    browser=Chrome

Fechar o navegador
    Close Browser

arquivo cadastro.robot

*** Settings ***
Resource  ../main.robot

*** Variables ***
${CAMPO_NOME}      id:form-nome
${CAMPO_CARGO}     id:form-cargo
${CAMPO_IMAGEM}    id:form-imagem
${CAMPO_TIME}      class:lista-suspensa
${BOTAO_CARD}      id:form-botao 

@{selecionar_time}
...       //option[contains(.,'Programação')]
...       //option[contains(.,'Front-End')]
...       //option[contains(.,'Data Science')]
...       //option[contains(.,'Devops')]
...       //option[contains(.,'UX e Design')]
...       //option[contains(.,'Mobile')]
...       //option[contains(.,'Inovação')]

*** Keywords ***
Dado que eu preencha os campos do formulário
    ${Nome}          FakerLibrary.First Name
    Input Text       ${CAMPO_NOME}       ${Nome}
    ${Cargo}         FakerLibrary.Job    
    Input Text       ${CAMPO_CARGO}      ${Cargo} 
    ${Imagem}        FakerLibrary.Image Url    width=200    height=100
    Input Text       ${CAMPO_IMAGEM}     ${Imagem}
    Click Element    ${CAMPO_TIME}
    Click Element    ${selecionar_time}[0]
    
E clique no botão "Criar Card"    
    Click Element    ${BOTAO_CARD}

Então identificar o card no time esperado
    Element Should Be Visible    class:colaborador

Então identificar 3 cards no time esperado
    FOR    ${i}    IN RANGE    1     3       
        Dado que eu preencha os campos do formulário
        E clique no botão "Criar Card"
    END
    Sleep    10s

Então criar card e identificar 1 card em cada time disponível
    FOR    ${indice}    ${time}    IN ENUMERATE    @{selecionar_time}
        Dado que eu preencha os campos do formulário
        Click Element    ${time}
        E clique no botão "Criar Card"
        
    END
    Sleep    10s

Dado que eu clique no botão "Criar Card"
    Click Element    ${BOTAO_CARD}

Então sistema deve apresentar mensagem de campo obrigatório
    Element Should Be Visible    id:form-nome-erro
    Element Should Be Visible    id:form-cargo-erro
    Element Should Be Visible    id:form-times-erro

arquivo preenchimento_correto.robot

*** Settings ***
Resource          ../resources/main.robot
Test Setup        Dado que eu acesse o Organo
Test Teardown     Fechar o navegador

*** Test Cases ***
Verificar se ao preencher corretamente o formulário os dados são inseridos corretamente na lista e se um novo card é criado no time escolhido  
     Dado que eu preencha os campos do formulário
     E clique no botão "Criar Card"
     Então identificar o card no time esperado

Verificar se é possivel criar mais de um card se preenchermos os campos corretamente
    Dado que eu preencha os campos do formulário
    E clique no botão "Criar Card"
    Então identificar 3 cards no time esperado

Verificar se é possível criar um card para cada time se preenchermos os campos corretamente
    Dado que eu preencha os campos do formulário
    Então criar card e identificar 1 card em cada time disponível

arquivo preenchimento_incorreto.robot

*** Settings ***
Resource          ../resources/main.robot
Test Setup        Dado que eu acesse o Organo
Test Teardown     Fechar o navegador

*** Test Cases ***
Verificar se quando um campo obrigatório não for preenchido corretamente o sistema exibe uma mensagem de campo obrigatório
    Dado que eu clique no botão "Criar Card"
    Então sistema deve apresentar mensagem de campo obrigatório

O erro se dá no preenchimento_correto.robot

No keyword with name 'FakerLibrary.First Name' found.Insira aqui a descrição dessa imagem para ajudar na acessibilidade

8 respostas

Olá, Juliana! Como vai? Espero que bem!

Situação curiosa a sua, já testou várias situações postadas aqui no fórum como solução, mas não funcionou no seu ambiente. Você está usando algum ambiente virtual para o projeto? Por exemplo, o virtualenv do Python.

Se estiver usando um ambiente virtual é necessário iniciá-lo antes da instalação da biblioteca, pois caso o contrário, o erro que você recebeu pode ocorrer.

Caso não esteja utilizando um ambiente virtual, a primeira forma de instalação que você havia comentado no início do seu tópico deveria resolver esse problema, mas é provável ter ocorrido algum conflito durante a instalação do pacote da biblioteca, tente desinstalar e instalar novamente, usando os seguintes comandos:

Desinstale:

pip uninstall robotframework-faker

E instale-a novamente:

pip install robotframework-faker

Espero ter ajudado e caso ainda tenha problemas, estarei à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Fiz e o erro persistiu. Só que agora nos 3 testes. Não estou usando ambiente virtual.

O que mais posso tentar? Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Oi, Juliana! Peço desculpa pela demora em responder.

Que estranho, poderia responder algumas perguntas para eu entender melhor a sua situação:

  1. Você realizou a instalação em um terminal iniciado como administrador ou somente nesse do VScode?

  2. Ao fim da instalação você reiniciou o VScode? Caso não a biblioteca realmente não será carregada, em projetos Python, normalmente, é necessário reiniciar a IDE ao instalar um pacote

  3. Qual extensão você está utilizando? É a mesma da imagem abaixo? Caso não instale ela.

    Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Fico no aguardo e à disposição

Olá Armano. Continuo com o mesmo problema :/

  1. Você realizou a instalação em um terminal iniciado como administrador ou somente nesse do VScode? R- Não tenho certeza se fiz todos os passos como administrador, mas refiz agora o 'pip install robotframework-faker' e 'pip install robotframework-faker' para confirmar , mas não resolveu.

  2. Ao fim da instalação você reiniciou o VScode? Caso não a biblioteca realmente não será carregada, em projetos Python, normalmente, é necessário reiniciar a IDE ao instalar um pacote R- Sim.

  3. Qual extensão você está utilizando? É a mesma da imagem abaixo? Caso não instale ela. R- Estava usando outra, mas troquei por esta e deu no mesmo.

solução!

Olá, Juliana!

Fiz a simulação de todo o seu projeto, incluindo estrutura de pastas e código. O erro está acontecendo devido a importação da biblioteca FakerLibrary no arquivo main.robot, pois, a palavra locale está com a inicial maiúscula, o que faz com que a biblioteca não reconheça os atributos.

Sendo assim, para corrigir, vá até o arquivo main.robot e altere de:

Library    FakerLibrary    Locale=pt_BR

Para:

Library    FakerLibrary    locale=pt_BR

Após isso, salve o arquivo e tente executar novamente os testes.

Fico à disposição.

Olá, Juliana e Armano!

Estou a ter o mesmo problema que a Juliana! Aparentemente, o VSCode não consegue importar a Library FakerLibrary. Já tentei de várias formas também, inclusive como indicou por último (locale com 'L' minúsculo.

Agradeceria por alguma ajuda vossa, e obrigado Juliana por ter iniciado o post no fórum, a sua dúvida também é a minha e pode ajudar mais pessoas futuramente! :D

Cordialmente, Gabriel Santos

Bom dia, Gabriel! Como vai?

Entendo que você está com um problema parecido com o da Juliana, mas peço que inicie outro tópico, onde você compartilha mais informações sobre a sua situação.

Pois, o seu caso pode parecer igual ao dela, mas pode ser diferente, então, trabalhar o seu caso em um tópico exclusivo ficará melhor para você e aos outros alunos, já que terão uma variedade maior de tópicos sobre possíveis situações de erros.

Abraços,

Resolvido Armano, era isso mesmo. Muito obrigada! :)