অংশ ৯: অ্যাপ্লিকেশন বস্তুর প্রতিলিপিকরণ কমাতে

স্বয়ংক্রিয় পরীক্ষায় অ্যাবস্ট্রাক্ট কোডে আমরা app বস্তুগুলো ঘন ঘন ব্যবহার করে থাকি। ইহা কোড এবং স্থান নির্ণয়কারীর প্রতিলিপি করা কমায়। যদি আমাদের কোন সাধারণ বিভাগের কোড পরিবর্তন প্রয়োজন হয় তাহলে আমরা তা শুধুমাত্র একটি app বস্তু পরিবর্তন করতে পারবো, ১০ অথবা ২০টি পরীক্ষণীয় ফাইলের পরিবর্তন না করে। এই রচনাটি কিভাবে app বস্তু ব্যবহার করতে হয় তার মৌলিক তথ্য জানায়।

অ্যাপ্লিকেশন বস্তু: শুরু হচ্ছে

app বস্তু হল একটি পাইথন ক্লাস যাতে পৃষ্ঠার উপর কার্যক্রম ঘটানোর নিয়ম এবং বৈশিষ্ট্যগুলো বিদ্যমান থাকে।  চলুন একটি তাত্বিক উদাহরণের মাধ্যমে দেখা যাক কিভাবে এগুলো ব্যবহৃত হয়ে থাকে।

homepage.py

এখানে একটি ফ্রেম রয়েছে সুডো-কোড সহ যা আমরা হোমপেজ অ্যাপ্লিকেশনের জন্য ব্যবহার করি।

class Homepage:
        __init__(self, marionette):
                # Marionette is passed in so that the object can use it
                self.marionette = marionette
 
        def switch_to_homepage_frame(self):
                # Code for switching to System then to Homepage frame

        def tap_contacts_icon(self):
                # Code to tap the icon
                # Switch to Contacts frame
                # Now we return the Contacts app object as it has focus
                from contacts import Contacts
                return Contacts(self.marionette)

contacts.py

এবং এটা আমরা কন্টাক্ট অ্যাপ্লিকেশনের জন্য ব্যবহার করে থাকি, আবারও কিছু সুডো-কোড সহ দেয়া হল।

class Contacts:
        _new_contact_button = (By.ID, ‘id’)
 
        def tap_new_contact(self):
                # Tap new contact icon
                # Wait for event
 
        def type_given_name(self, name_string):
                # element.send_keys(name_string)

test_contacts.py

কিভাবে একটি পরীক্ষণীয় প্রসঙ্গ কাজ করে তা বুঝতে, এখানে একটি দ্রুত উদাহরণ রয়েছে যাতে Homepage শ্রেণীর ব্যবহার রয়েছে:

from homepage import Homepage

def test_add_contact(self):
        homepage = Homepage(self.marionette)
        homepage.switch_to_homepage_frame()
         
contacts = homepage.tap_contacts_icon()
contacts.tap_new_contact()

আপনার পরীক্ষণগুলো হালনাগাদ হচ্ছে

এখান থেকে আমরা আপনাকে নতুন অ্যাপ্লিকেশন বস্তুর সিস্টেম ব্যবহার করতে আপনার সকল পরীক্ষণীয় ফাইলগুলো হালনাগাদ করতে চ্যালেন্জ প্রদান করতে চাই।

ইহা একটি কঠিন কাজ এবং আপনি যদি পাইথন শ্রেণী কাঠামোর সাথে পরিচিত না হন তাহলে আপনাকে সূত্র এবং কোডের উদাহরণের জন্য কিছু বইয়ের পরামর্শ দরকার।

যখন আপনি আদর্শভাবে শেষ করবেন তখন আপনার পরীক্ষণীয় ফাইলের মধ্যে একটি পরিস্কার বিচ্ছিন্নতা থাকবে:

  1. TestBasesetUp() এবং tearDown() নীতিগুলো বিদ্যমান থাকে
  2. app বস্তুগুলো পৃষ্ঠার পারস্পরিক ক্রিয়া এবং স্থান নির্ণয়কারী ধারণ করে
  3. আপনার পরীক্ষণীয় ফাইলগুলো শুধু পরীক্ষণীয় ধাপগুলো ধারণ করে।

আপনার মঙ্গল কামনা করছি!

ডকুমেন্ট ট্যাগ এবং অবদানকারী

 Contributors to this page: chrisdavidmills, desh
 সর্বশেষ হালনাগাদ করেছেন: chrisdavidmills,