1
votes

robotframework: quel est le moyen le plus simple de vérifier qu'une valeur est supérieure à 10

il existe donc un site Web: https://www.guruwatch.nl/Aandelen/Default .aspx

Je clique sur l'élément 'koop' puis je veux vérifier que la valeur en haut est supérieure à 10

id = "ctl00_ctl00_ContentPlaceHolder1_RightContent_ListAandelen_repAandelen_ctl01_lblCountBuy"

quel est le moyen le plus rapide de le faire?

J'ai utilisé

Element Text Should Be  ctl00_ctl00_ContentPlaceHolder1_RightContent_ListAandelen_repAandelen_ctl01_lblCountBuy  24

mais c'est pour la correspondance exacte, je veux juste vérifier que l'entier est plus grand que 10.

il y a aussi un Doit être égal aux nombres entiers, première seconde
intégré

mais pas un Devrait être plus grand que l'entier Doit être plus petit qu'un entier

p.s. pourquoi ne sont-ils pas intégrés? est-ce si étrange d'utiliser ça?


0 commentaires

3 Réponses :


2
votes

Il existe de nombreuses façons de vérifier si une valeur est plus grande qu'une autre avec les mots-clés * If que vous pouvez trouver dans BuiltIn Bibliothèque. Voici un exemple de la façon dont vous pouvez créer le mot clé plus grand que:

*** Test Cases ***
Test Positive
    ${value}    Set Variable    24
    Should Be Larger Than    ${value}    1

Test Negative
    ${value}    Set Variable    24
    Run Keyword And Expect Error    *    Should Be Larger Than  ${value}    100


*** Keywords ***
Should Be Larger Than
    [Arguments]    ${value_1}    ${value_2}
    Run Keyword If    ${value_1} <= ${value_2}    
    ...    Fail    The value ${value_1} is not larger than ${value_2}


3 commentaires

Le mot clé est plus grand que, ce qui exclut explicitement égal à. Donc, un choix conscient de ma part. Quant au casting, tu as raison, ça devrait arriver mais vu la nature de la question je voulais fournir la version la plus simple.


Le codage tard dans la nuit et les premiers départs ne font pas bon ménage. Tu as raison.


Considérez la conversion en nombres - la chaîne "24" est plus grande que la chaîne "105", alors que quand ce sont des nombres - pas.



1
votes

Pour ce faire, vous devez d'abord trouver le localisateur xpath. Étant donné que le xpath est assez long, je l'attribue simplement à une variable comme ci-dessous.

${result}= RUN KEYWORD AND RETURN STATUS    SHOULD BE TRUE    ${get_number} > 10 #

D'accord, je résume donc les étapes que j'utilise ci-dessus ici:

  1. Obtenez le localisateur xpath pour la colonne spécifique que vous souhaitez vérifier.
  2. Utilisez le mot clé GET TEXT pour obtenir le résultat exact (nombre) de cette colonne.
  3. Vérifiez à l'aide du mot clé DEVRAIT ÊTRE TRUE. Ce mot clé est suffisant pour vérifier la condition.

Mais juste pour souligner, que si vous utilisez le mot-clé DEVRAIT ÊTRE VRAI comme ci-dessus, le test échouera immédiatement, donc une bonne approche consiste à utiliser avec le mot-clé RUN AND RETURN STATUS et attribuer une variable pour dire soit la condition est vraie ou fausse, afin que vous puissiez continuer avec votre prochain code ou vos prochaines instructions.

${top_position_xpath}= set variable //span[@id='ctl00_ctl00_ContentPlaceHolder1_RightContent_ListAandelen_repAandelen_ctl01_lblCountBuy'

${get_number}= GET TEXT  xpath=${top_position_xpath} ## --> This is xpath locator for that top column
${check}= SHOULD BE TRUE  ${get_number} > 10 # --> The current test will fail if the result is false.. 


0 commentaires

-1
votes

Avant de lire les messages, je l'ai résolu moi-même de cette façon:

Should Match Regexp  ctl00_ctl00_ContentPlaceHolder1_RightContent_ListAandelen_repAandelen_ctl01_lblCountBuy  [0-9]{1}[0-9]{1}


0 commentaires