cypress - יש כאן מישהו שמכיר טוב?

  • פותח הנושא רפ
  • פורסם בתאריך

java

משתמש סופר מקצוען
מנוי פרימיום
הנדסת תוכנה
אני מכירה, לא יודעת אם בסדר גודל שאת מחפשת.
 

רפ

משתמש סופר מקצוען
אני מנסה על הצד שכן...
יש לי UI TEST שעובד מעולה לוקאלית.
כל הrequests ממוקמקים, ולצורך העניין הגדלתי את הtimeout ל-2 דקות.
בbuild הטסט הספציפי הזה נופל פעם אחר פעם עם שגיאה של timeout בwait לrequest מסוים (שממוקמק כמובן).
קוד:
CypressError: Timed out retrying: `cy.wait()` timed out waiting `120000ms` for the 1st request to the route: `request`. No request ever occurred.
שוב: זה נופל אך ורק בבילד של הסרבר.
לוקאלית זה עובר.
יש רעיון מה יכול לגרום לכזאת התנהגות משונה?
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
באיזו דרך מיקמקת את הבקשות?
אם זה מנגנון פנימי של cypress אז זה צריך לעבוד גם בשרת.
אבל אם מעורב בזה איזה שרת לוקלי שהוא מחזיר את המוקים, אז זו יכולה להיות הבעיה - שהשרת הזה לא מופעל בשרת.
 

רפ

משתמש סופר מקצוען
באיזו דרך מיקמקת את הבקשות?
אם זה מנגנון פנימי של cypress אז זה צריך לעבוד גם בשרת.
אבל אם מעורב בזה איזה שרת לוקלי שהוא מחזיר את המוקים, אז זו יכולה להיות הבעיה - שהשרת הזה לא מופעל בשרת.
מיקמקתי את זה במנגנון של סייפרס.
לדוגמא:
קוד:
cy.route({
      method: 'POST',
      url: 'myUrl',
      response: myResponse
    }).as('request');

אם זה מנגנון פנימי של cypress אז זה צריך לעבוד גם בשרת.
זה מה שגם אני חושבת. לא מבינה למה זה לא עובד.
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
אם כך, אני חושש שאין פתרון קסם.
תצטרכי לבדוק שלב שלב שהכל בסדר. לראות שכל הdependecies מותקות, לשים לוגים ולבדוק את הflow
 

רפ

משתמש סופר מקצוען
אם כך, אני חושש שאין פתרון קסם.
תצטרכי לבדוק שלב שלב שהכל בסדר. לראות שכל הdependecies מותקות, לשים לוגים ולבדוק את הflow
הטסט שנופל הוא טסט אחד מתוך סוויטה שהיא אחת מתוך 33 סוויטות.
וגם הטסט הזה לפעמים כן עובר... ולפעמים לא... גם בלי שום שינוי בקוד או בטסט.
לכן אני לא חושבת שזו בעיה בטסט או בflow אלא משהו שקשור לסייפרס, משהו שאני לא מספיק מבינה.
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
נכון. אבל flow הכוונה לאו דווקא של הקוד, אלא גם של הטסטים.
זה דבר רגיל בכל מערכות טסטים - שאם משהו לא בסדר לפעמים זה כן עובר ולפעמים לא. כי יכול להיות race condition או עוד משהו. חשוב גם לראות שסדר הטסטים יהיה רנדומלי, אחרת הטסט יכול לעבור אבל זה רק בגלל שלפניו הופעל טסט אחר.
 

רפ

משתמש סופר מקצוען
נכון. אבל flow הכוונה לאו דווקא של הקוד, אלא גם של הטסטים.
זה דבר רגיל בכל מערכות טסטים - שאם משהו לא בסדר לפעמים זה כן עובר ולפעמים לא. כי יכול להיות race condition או עוד משהו. חשוב גם לראות שסדר הטסטים יהיה רנדומלי, אחרת הטסט יכול לעבור אבל זה רק בגלל שלפניו הופעל טסט אחר.
יש לך רעיון מה עוד אפשר לבדוק?
הטסטים רצים בצורה סינכרונית ולא רנדומלית.
בלוגים אני לא רואה שום רמז למה שקרה חוץ מהשגיאה שהבאתי כאן.
 

s976

משתמש סופר מקצוען
הנדסת תוכנה
D I G I T A L
:)
לא התכוונתי להסתכל בלוגים - התכוונתי להוסיף לוגים. בכל שלב שיש איזה חשד או צל של חשד, מדפיסים לוג עם הנתונים הרלוונטיים ואחר כך בודקים האם הנתונים מתאימים למה שאחנו מצפים.
 

רפ

משתמש סופר מקצוען
אם מעניין מישהו - הצלחתי לעלות על הבעיה.
דבר ראשון ארזתי את האפליקציה עם build והרצתי אותה לוקאלית באמצעות serve, הרצתי מולה את הטסט שנופל.
התברר ששני מיקמוקים לקבצי json סטטיים לא היו מזוהים נכון, מכיון שבאריזה של האפליקציה הגישה לתיקיית הpublic שונה מאשר באפליקציה שרצה מקומית במחשב.
הוספתי לurl של המוק ** במקום התחילית שעובדת לוקאלית, ועכשיו זה עובר בלי בעיות.
 

צצציייפפפייי

משתמש רשום
מישהו מכיר אולי אפשרות של העתקת נתונים(ctrl c)

(מתוך קובץ אקסל לדוגמא (ולא משדה במסך

בסייפרס?

מאוד יעזור לי
 

אולי מעניין אותך גם...

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק קכא

א שִׁיר לַמַּעֲלוֹת אֶשָּׂא עֵינַי אֶל הֶהָרִים מֵאַיִן יָבֹא עֶזְרִי:ב עֶזְרִי מֵעִם יְהוָה עֹשֵׂה שָׁמַיִם וָאָרֶץ:ג אַל יִתֵּן לַמּוֹט רַגְלֶךָ אַל יָנוּם שֹׁמְרֶךָ:ד הִנֵּה לֹא יָנוּם וְלֹא יִישָׁן שׁוֹמֵר יִשְׂרָאֵל:ה יְהוָה שֹׁמְרֶךָ יְהוָה צִלְּךָ עַל יַד יְמִינֶךָ:ו יוֹמָם הַשֶּׁמֶשׁ לֹא יַכֶּכָּה וְיָרֵחַ בַּלָּיְלָה:ז יְהוָה יִשְׁמָרְךָ מִכָּל רָע יִשְׁמֹר אֶת נַפְשֶׁךָ:ח יְהוָה יִשְׁמָר צֵאתְךָ וּבוֹאֶךָ מֵעַתָּה וְעַד עוֹלָם:
נקרא  25  פעמים

לוח מודעות

למעלה