Posts

Showing posts from October, 2017

מדריך | אוטומציה באמצעות Selenium | חלק 1 - מבוא

Image
לאחר שהבנו את יתרונות פיתוח האוטומציה ופיתחנו בדיקת אוטומציה ראשונה באמצעות NUnit הגיע הזמן שנגיע לתכלס..
כיום קיימים בשוק מגוון כלים בשוק, בסגנון קוד פתוח, שמגיעים על מנת להקל, ולתת גמישות ויכולות נוספות בנושא האוטומציה.
מה זה Selenium? סלניום היא תשתית האוטומציה לדפדפנים הגדולה בעולם כיום.
עולם הWeb מצעיד את עולם פיתוח התוכנה (יחד עם עולם המובייל), וכך גם עולם בדיקות ה Web.

כאשר אנחנו מבצעים בדיקות אוטומטיות חשוב שתהיה לנו שליטה כמה שיותר גדולה על סביבת העבודה שלנו.
תשתית Selenium, מגיעה על מנת לתת פתרון פשוט, נוח, וקל לתפעול לשליטה על דפדפנים (סביבת העבודה של עולם הWeb).
באמצעות השליטה הנ"ל, ניתן יהיו לבצע תרחישי בדיקה אוטומטיים אשר יבטיחו את איכות המוצר אותו אנו בודקים.
איך כותבים אוטומציה באמצעות Selenium? במדריך אציג בדיקה אוטומטית פשוטה בשפת C#, כמובן על בסיס תשתית הבדיקה NUnit.
*המלצה - קריאת הפוסט הזה, תקל עליך מאוד.
הקמת סט-אפ הבדיקה תחילה נפתח Visual Studio וניצור פרויקט חדש מסוג Class Library (לחיצה על ctrl+shift+N תעשה את העבודה).


כעת נתקין את ה-NuGetים הנדרשים על מ…

מדריך C# | שימוש ב LINQ

אחד הדברים שאנחנו המתכנתים נתקלים בהם באופן כמעט יומיומי הוא השימוש ברשימות ומערכים.
מה שמשותף למערכים רשימות ועוד אובייקטים שמסודרים יחדיו אחד אחרי השני הוא שכולם מממשים את ממשק IEnumerable

*תנאי קדם למדריך: היכרות עם #C בסיסי ועם Lists.
מה זה IEnummerable IEnummerable הוא interface בסיסי ונפוץ מאוד.
מימוש IEnumeable מאפשר לנו לעבור על איברי האובייקט שלנו, לסדר אותם, לסנן אותם או סתם לדלות מהם מידע.

דוגמה טובה פשוטה ונפוצה למימוש של IEnummerable היא המחלקה List.

מה ההבדל בין IEnummerable ל List? בכדי שנבין את ההבדל בין השניים חשוב שנבין מה כל אחד נותן לנו ומתי נרצה להשתמש בכל אחד.
שני ההבדלים העיקריים: IEnummerable הוא ממשק ולכן לא ניתן ליצור ממנו עצם.IEnummerable הוא Read-Only - הכוונה, לא ניתן לבצע פעולות על הרשימה כל עוד היא IEnummerable. דוגמה טובה לכך תהיה ליצור List מסוג IEnummerable ולנסות להוסיף אליו איבר: IEnumerable<Person> persons = new List<Person>                 { new Person("Tomer", 22), new Person("Alon", 25), new Person("Shimon"…

מה חדש ב - C# 7?

גרסתה הראשונה של שפת C# יצאה ב2002 עם גרסה 1.0 של NET.
מאז כל שנתיים-שלוש, מתעדכנת גרסת NET. ואיתה גם שפת C#
השינויים בין הגרסאות בדרך כלל לא דרסטיים. הם בדרך כלל שינויים של נוחות פיתוח, יעילות וכתיבת קוד נקי יותר.
לפני כשנתיים הפכה תשתית NET. ל Open Source, דבר שאני מקווה שאומר שבשנים הקרובות השינויים ילכו ויעשו מגניבים יותר.
היום אסקור בקצרה את השינויים העיקריים בגרסה C# 7. אני ממליץ בחום כבר עם קריאת המדריך, להוריד את הגרסה החדשה ולהתחיל לנסות את הדברים שאכתוב כאן.
איך משיגים את הגרסה החדשה של #C? על מנת לעבוד עם C# 7 , יש להתעדכן לגרסה 4.6.2 של NET. - את זאת ניתן לעשות על ידי עדכון ל Visual Studio 2017
פיצ'ר ראשון - Inline Out Declaration: עד היום:


השינוי:


אין צורך להגדיר את המשתנה לפני השימוש ב out, ניתן לעשות זאת באותה שורה.
ניתן לראות שהשינוי לא גדול, אך הופך את הקוד לאלגנטי יותר.

פיצ'ר שני - Pattern Matching: נגיד שכתבנו פונקציה אשר מבצעת פעולה מסוימת על גיל (int) שקיבלה כפרמטר.
הגיל שהפונקציה מקבלת יכול להתקבל כקלט מהמשתמש (string) או מתשאול של int) - Database)



הסבר ה…

שיפור פרודוקטיביות - מה חדש ב Visual Studio 2017?

Image
Visual Studio 2017 היא הגרסה החדשה ביותר של סביבת הפיתוח הרשמית של Microsoft עבור NET.

אם עדייו אין לך Visual Studio 2017, היכנס לכאן בכדי להוריד.

את כל מה שחדש בסביבת הפיתוח לצערי בלתי אפשרי לפרוט בפוסט אחד, לכן היום אדבר על החידושים העיקריים והרלוונטיים ביותר של סביבת הפיתוח לצורך שיפור הפרודוקטיביות ומהירות הפיתוח.
אבל למה? מה היה רע עד עכשיו? קיימים מגוון כלים חיצוניים המיועדים לשיפור פרודוקטיביות אותם ניתן להתקין על גבי Visual Studio, כמו, Resharper, Visual Assist וכו'..
בגרסה החדשה של Visual Studio חברת Microsoft לא מעוניינת שהמפתחים יתקינו כלים חיצוניים ולכן ניסתה לשפר את חווית הפיתוח כמה שיותר. פיצ'ר Go To All מאז ומתמיד לVisual Studio היה פיצ'ר בשם Navigate To שנתן יכולת חיפוש בתוך קבצי ה Solution, הפיצ'ר לא היה בשימוש נרחב מכיוון שלא היה נוח ליישום.
בגרסה החדשה, Visual Studio שינו את שם הפיצ'ר ל - "Go To All".
באמצעות לחיצה על צירוף המקשים "ctrl+T" או ",+ctrl" ניתן לראות שיפתח חלון קטן בצד הימני עליון של מסך הVisual Studio.